aws-cdk-lib 2.149.0__py3-none-any.whl → 2.151.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 (48) hide show
  1. aws_cdk/__init__.py +6 -16
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.149.0.jsii.tgz → aws-cdk-lib@2.151.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2/__init__.py +94 -21
  5. aws_cdk/aws_appconfig/__init__.py +3 -3
  6. aws_cdk/aws_backup/__init__.py +3 -3
  7. aws_cdk/aws_bedrock/__init__.py +58 -46
  8. aws_cdk/aws_cleanrooms/__init__.py +5 -5
  9. aws_cdk/aws_cloudformation/__init__.py +4 -8
  10. aws_cdk/aws_cloudfront/__init__.py +102 -32
  11. aws_cdk/aws_cloudtrail/__init__.py +34 -558
  12. aws_cdk/aws_cloudwatch/__init__.py +1 -1
  13. aws_cdk/aws_codepipeline/__init__.py +11 -5
  14. aws_cdk/aws_cognito/__init__.py +1 -2
  15. aws_cdk/aws_ec2/__init__.py +263 -7
  16. aws_cdk/aws_ecs/__init__.py +16 -10
  17. aws_cdk/aws_eks/__init__.py +26 -20
  18. aws_cdk/aws_elasticloadbalancingv2/__init__.py +106 -11
  19. aws_cdk/aws_emr/__init__.py +18 -20
  20. aws_cdk/aws_entityresolution/__init__.py +27 -21
  21. aws_cdk/aws_events/__init__.py +83 -16
  22. aws_cdk/aws_fsx/__init__.py +25 -23
  23. aws_cdk/aws_glue/__init__.py +3 -3
  24. aws_cdk/aws_guardduty/__init__.py +6 -4
  25. aws_cdk/aws_iam/__init__.py +19 -29
  26. aws_cdk/aws_iotsitewise/__init__.py +8 -8
  27. aws_cdk/aws_lambda/__init__.py +21 -2
  28. aws_cdk/aws_logs/__init__.py +9 -0
  29. aws_cdk/aws_mwaa/__init__.py +3 -3
  30. aws_cdk/aws_pipes/__init__.py +2 -2
  31. aws_cdk/aws_qbusiness/__init__.py +21 -7
  32. aws_cdk/aws_rds/__init__.py +252 -206
  33. aws_cdk/aws_s3/__init__.py +8 -2
  34. aws_cdk/aws_sagemaker/__init__.py +10 -10
  35. aws_cdk/aws_ses/__init__.py +3 -3
  36. aws_cdk/aws_sns/__init__.py +5 -2
  37. aws_cdk/aws_stepfunctions/__init__.py +5 -2
  38. aws_cdk/aws_stepfunctions_tasks/__init__.py +23 -8
  39. aws_cdk/aws_synthetics/__init__.py +174 -22
  40. aws_cdk/custom_resources/__init__.py +91 -23
  41. aws_cdk/pipelines/__init__.py +1 -1
  42. aws_cdk/region_info/__init__.py +32 -12
  43. {aws_cdk_lib-2.149.0.dist-info → aws_cdk_lib-2.151.0.dist-info}/METADATA +1 -1
  44. {aws_cdk_lib-2.149.0.dist-info → aws_cdk_lib-2.151.0.dist-info}/RECORD +48 -48
  45. {aws_cdk_lib-2.149.0.dist-info → aws_cdk_lib-2.151.0.dist-info}/LICENSE +0 -0
  46. {aws_cdk_lib-2.149.0.dist-info → aws_cdk_lib-2.151.0.dist-info}/NOTICE +0 -0
  47. {aws_cdk_lib-2.149.0.dist-info → aws_cdk_lib-2.151.0.dist-info}/WHEEL +0 -0
  48. {aws_cdk_lib-2.149.0.dist-info → aws_cdk_lib-2.151.0.dist-info}/top_level.txt +0 -0
@@ -14799,7 +14799,7 @@ class Alarm(
14799
14799
  def add_alarm_action(self, *actions: IAlarmAction) -> None:
14800
14800
  '''Trigger this action if the alarm fires.
14801
14801
 
14802
- Typically SnsAcion or AutoScalingAction.
14802
+ Typically SnsAction or AutoScalingAction.
14803
14803
 
14804
14804
  :param actions: -
14805
14805
  '''
@@ -5139,7 +5139,7 @@ class CfnWebhook(
5139
5139
  '''
5140
5140
  :param scope: Scope in which this resource is defined.
5141
5141
  :param id: Construct identifier for this resource (unique in its scope).
5142
- :param authentication: Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED. - For information about the authentication scheme implemented by GITHUB_HMAC, see `Securing your webhooks <https://docs.aws.amazon.com/https://developer.github.com/webhooks/securing/>`_ on the GitHub Developer website. - IP rejects webhooks trigger requests unless they originate from an IP address in the IP range whitelisted in the authentication configuration. - UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.
5142
+ :param authentication: Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED. .. epigraph:: When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities. - For information about the authentication scheme implemented by GITHUB_HMAC, see `Securing your webhooks <https://docs.aws.amazon.com/https://developer.github.com/webhooks/securing/>`_ on the GitHub Developer website. - IP rejects webhooks trigger requests unless they originate from an IP address in the IP range whitelisted in the authentication configuration. - UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.
5143
5143
  :param authentication_configuration: Properties that configure the authentication applied to incoming webhook trigger requests. The required properties depend on the authentication type. For GITHUB_HMAC, only the ``SecretToken`` property must be set. For IP, only the ``AllowedIPRange`` property must be set to a valid CIDR range. For UNAUTHENTICATED, no properties can be set.
5144
5144
  :param filters: A list of rules applied to the body/payload sent in the POST request to a webhook URL. All defined rules must pass for the request to be accepted and the pipeline started.
5145
5145
  :param target_action: The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline.
@@ -5354,7 +5354,7 @@ class CfnWebhook(
5354
5354
  '''The authentication applied to incoming webhook trigger requests.
5355
5355
 
5356
5356
  :param allowed_ip_range: The property used to configure acceptance of webhooks in an IP address range. For IP, only the ``AllowedIPRange`` property must be set. This property must be set to a valid CIDR range.
5357
- :param secret_token: The property used to configure GitHub authentication. For GITHUB_HMAC, only the ``SecretToken`` property must be set.
5357
+ :param secret_token: The property used to configure GitHub authentication. For GITHUB_HMAC, only the ``SecretToken`` property must be set. .. epigraph:: When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities.
5358
5358
 
5359
5359
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-webhook-webhookauthconfiguration.html
5360
5360
  :exampleMetadata: fixture=_generated
@@ -5393,9 +5393,11 @@ class CfnWebhook(
5393
5393
 
5394
5394
  @builtins.property
5395
5395
  def secret_token(self) -> typing.Optional[builtins.str]:
5396
- '''The property used to configure GitHub authentication.
5396
+ '''The property used to configure GitHub authentication. For GITHUB_HMAC, only the ``SecretToken`` property must be set.
5397
5397
 
5398
- For GITHUB_HMAC, only the ``SecretToken`` property must be set.
5398
+ .. epigraph::
5399
+
5400
+ When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities.
5399
5401
 
5400
5402
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-webhook-webhookauthconfiguration.html#cfn-codepipeline-webhook-webhookauthconfiguration-secrettoken
5401
5403
  '''
@@ -5520,7 +5522,7 @@ class CfnWebhookProps:
5520
5522
  ) -> None:
5521
5523
  '''Properties for defining a ``CfnWebhook``.
5522
5524
 
5523
- :param authentication: Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED. - For information about the authentication scheme implemented by GITHUB_HMAC, see `Securing your webhooks <https://docs.aws.amazon.com/https://developer.github.com/webhooks/securing/>`_ on the GitHub Developer website. - IP rejects webhooks trigger requests unless they originate from an IP address in the IP range whitelisted in the authentication configuration. - UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.
5525
+ :param authentication: Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED. .. epigraph:: When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities. - For information about the authentication scheme implemented by GITHUB_HMAC, see `Securing your webhooks <https://docs.aws.amazon.com/https://developer.github.com/webhooks/securing/>`_ on the GitHub Developer website. - IP rejects webhooks trigger requests unless they originate from an IP address in the IP range whitelisted in the authentication configuration. - UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.
5524
5526
  :param authentication_configuration: Properties that configure the authentication applied to incoming webhook trigger requests. The required properties depend on the authentication type. For GITHUB_HMAC, only the ``SecretToken`` property must be set. For IP, only the ``AllowedIPRange`` property must be set to a valid CIDR range. For UNAUTHENTICATED, no properties can be set.
5525
5527
  :param filters: A list of rules applied to the body/payload sent in the POST request to a webhook URL. All defined rules must pass for the request to be accepted and the pipeline started.
5526
5528
  :param target_action: The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline.
@@ -5586,6 +5588,10 @@ class CfnWebhookProps:
5586
5588
  def authentication(self) -> builtins.str:
5587
5589
  '''Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED.
5588
5590
 
5591
+ .. epigraph::
5592
+
5593
+ When creating CodePipeline webhooks, do not use your own credentials or reuse the same secret token across multiple webhooks. For optimal security, generate a unique secret token for each webhook you create. The secret token is an arbitrary string that you provide, which GitHub uses to compute and sign the webhook payloads sent to CodePipeline, for protecting the integrity and authenticity of the webhook payloads. Using your own credentials or reusing the same token across multiple webhooks can lead to security vulnerabilities.
5594
+
5589
5595
  - For information about the authentication scheme implemented by GITHUB_HMAC, see `Securing your webhooks <https://docs.aws.amazon.com/https://developer.github.com/webhooks/securing/>`_ on the GitHub Developer website.
5590
5596
  - IP rejects webhooks trigger requests unless they originate from an IP address in the IP range whitelisted in the authentication configuration.
5591
5597
  - UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.
@@ -10971,8 +10971,7 @@ class CfnUserPoolUICustomizationAttachment(
10971
10971
  @builtins.property
10972
10972
  @jsii.member(jsii_name="attrId")
10973
10973
  def attr_id(self) -> builtins.str:
10974
- '''The resource ID.
10975
-
10974
+ '''
10976
10975
  :cloudformationAttribute: Id
10977
10976
  '''
10978
10977
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -2399,6 +2399,8 @@ instance_profile = iam.InstanceProfile(self, "InstanceProfile",
2399
2399
  )
2400
2400
 
2401
2401
  template = ec2.LaunchTemplate(self, "LaunchTemplate",
2402
+ launch_template_name="MyTemplateV1",
2403
+ version_description="This is my v1 template",
2402
2404
  machine_image=ec2.MachineImage.latest_amazon_linux2023(),
2403
2405
  security_group=ec2.SecurityGroup(self, "LaunchTemplateSG",
2404
2406
  vpc=vpc
@@ -11250,7 +11252,7 @@ class CfnEC2Fleet(
11250
11252
  :param placement: The location where the instance launched, if applicable.
11251
11253
  :param priority: The priority for the launch template override. The highest priority is launched first. If the On-Demand ``AllocationStrategy`` is set to ``prioritized`` , EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. If the Spot ``AllocationStrategy`` is set to ``capacity-optimized-prioritized`` , EC2 Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first. Valid values are whole numbers starting at ``0`` . The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.
11252
11254
  :param subnet_id: The IDs of the subnets in which to launch the instances. Separate multiple subnet IDs using commas (for example, ``subnet-1234abcdeexample1, subnet-0987cdef6example2`` ). A request of type ``instant`` can have only one subnet ID.
11253
- :param weighted_capacity: The number of units provided by the specified instance type. .. epigraph:: When specifying weights, the price used in the ``lowest-price`` and ``price-capacity-optimized`` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested ``TargetCapacity`` , resulting in only 1 instance being launched, the price used is per *instance* hour.
11255
+ :param weighted_capacity: The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O. If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1. .. epigraph:: When specifying weights, the price used in the ``lowest-price`` and ``price-capacity-optimized`` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested ``TargetCapacity`` , resulting in only 1 instance being launched, the price used is per *instance* hour.
11254
11256
 
11255
11257
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html
11256
11258
  :exampleMetadata: fixture=_generated
@@ -11455,6 +11457,9 @@ class CfnEC2Fleet(
11455
11457
  def weighted_capacity(self) -> typing.Optional[jsii.Number]:
11456
11458
  '''The number of units provided by the specified instance type.
11457
11459
 
11460
+ These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.
11461
+
11462
+ If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.
11458
11463
  .. epigraph::
11459
11464
 
11460
11465
  When specifying weights, the price used in the ``lowest-price`` and ``price-capacity-optimized`` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested ``TargetCapacity`` , resulting in only 1 instance being launched, the price used is per *instance* hour.
@@ -16921,7 +16926,7 @@ class CfnIPAMPool(
16921
16926
  :param auto_import: If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only. A locale must be set on the pool for this feature to work.
16922
16927
  :param aws_service: Limits which service in AWS that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs.
16923
16928
  :param description: The description of the IPAM pool.
16924
- :param locale: The locale of the IPAM pool. In IPAM, the locale is the AWS Region where you want to make an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you choose an AWS Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.
16929
+ :param locale: The locale of the IPAM pool. The locale for the pool should be one of the following: - An AWS Region where you want this IPAM pool to be available for allocations. - The network border group for an AWS Local Zone where you want this IPAM pool to be available for allocations ( `supported Local Zones <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-zone-avail>`_ ). This option is only available for IPAM IPv4 pools in the public scope. If you choose an AWS Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.
16925
16930
  :param provisioned_cidrs: Information about the CIDRs provisioned to an IPAM pool.
16926
16931
  :param public_ip_source: The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is ``BYOIP`` . For more information, see `Create IPv6 pools <https://docs.aws.amazon.com//vpc/latest/ipam/intro-create-ipv6-pools.html>`_ in the *Amazon VPC IPAM User Guide* . By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see `Quotas for your IPAM <https://docs.aws.amazon.com//vpc/latest/ipam/quotas-ipam.html>`_ in the *Amazon VPC IPAM User Guide* .
16927
16932
  :param publicly_advertisable: Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily set to ``ipv4`` .
@@ -17774,7 +17779,7 @@ class CfnIPAMPoolProps:
17774
17779
  :param auto_import: If selected, IPAM will continuously look for resources within the CIDR range of this pool and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only. A locale must be set on the pool for this feature to work.
17775
17780
  :param aws_service: Limits which service in AWS that the pool can be used in. "ec2", for example, allows users to use space for Elastic IP addresses and VPCs.
17776
17781
  :param description: The description of the IPAM pool.
17777
- :param locale: The locale of the IPAM pool. In IPAM, the locale is the AWS Region where you want to make an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you choose an AWS Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.
17782
+ :param locale: The locale of the IPAM pool. The locale for the pool should be one of the following: - An AWS Region where you want this IPAM pool to be available for allocations. - The network border group for an AWS Local Zone where you want this IPAM pool to be available for allocations ( `supported Local Zones <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-zone-avail>`_ ). This option is only available for IPAM IPv4 pools in the public scope. If you choose an AWS Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.
17778
17783
  :param provisioned_cidrs: Information about the CIDRs provisioned to an IPAM pool.
17779
17784
  :param public_ip_source: The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is ``BYOIP`` . For more information, see `Create IPv6 pools <https://docs.aws.amazon.com//vpc/latest/ipam/intro-create-ipv6-pools.html>`_ in the *Amazon VPC IPAM User Guide* . By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see `Quotas for your IPAM <https://docs.aws.amazon.com//vpc/latest/ipam/quotas-ipam.html>`_ in the *Amazon VPC IPAM User Guide* .
17780
17785
  :param publicly_advertisable: Determines if a pool is publicly advertisable. This option is not available for pools with AddressFamily set to ``ipv4`` .
@@ -17981,7 +17986,12 @@ class CfnIPAMPoolProps:
17981
17986
  def locale(self) -> typing.Optional[builtins.str]:
17982
17987
  '''The locale of the IPAM pool.
17983
17988
 
17984
- In IPAM, the locale is the AWS Region where you want to make an IPAM pool available for allocations. Only resources in the same Region as the locale of the pool can get IP address allocations from the pool. You can only allocate a CIDR for a VPC, for example, from an IPAM pool that shares a locale with the VPC’s Region. Note that once you choose a Locale for a pool, you cannot modify it. If you choose an AWS Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.
17989
+ The locale for the pool should be one of the following:
17990
+
17991
+ - An AWS Region where you want this IPAM pool to be available for allocations.
17992
+ - The network border group for an AWS Local Zone where you want this IPAM pool to be available for allocations ( `supported Local Zones <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-zone-avail>`_ ). This option is only available for IPAM IPv4 pools in the public scope.
17993
+
17994
+ If you choose an AWS Region for locale that has not been configured as an operating Region for the IPAM, you'll get an error.
17985
17995
 
17986
17996
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-locale
17987
17997
  '''
@@ -45095,7 +45105,7 @@ class CfnSpotFleet(
45095
45105
  :param priority: The priority for the launch template override. The highest priority is launched first. If ``OnDemandAllocationStrategy`` is set to ``prioritized`` , Spot Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. If the Spot ``AllocationStrategy`` is set to ``capacityOptimizedPrioritized`` , Spot Fleet uses priority on a best-effort basis to determine which launch template override to use in fulfilling Spot capacity, but optimizes for capacity first. Valid values are whole numbers starting at ``0`` . The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.
45096
45106
  :param spot_price: The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price. .. epigraph:: If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.
45097
45107
  :param subnet_id: The ID of the subnet in which to launch the instances.
45098
- :param weighted_capacity: The number of units provided by the specified instance type. .. epigraph:: When specifying weights, the price used in the ``lowest-price`` and ``price-capacity-optimized`` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested ``TargetCapacity`` , resulting in only 1 instance being launched, the price used is per *instance* hour.
45108
+ :param weighted_capacity: The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O. If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1. .. epigraph:: When specifying weights, the price used in the ``lowestPrice`` and ``priceCapacityOptimized`` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested ``TargetCapacity`` , resulting in only 1 instance being launched, the price used is per *instance* hour.
45099
45109
 
45100
45110
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html
45101
45111
  :exampleMetadata: fixture=_generated
@@ -45269,9 +45279,12 @@ class CfnSpotFleet(
45269
45279
  def weighted_capacity(self) -> typing.Optional[jsii.Number]:
45270
45280
  '''The number of units provided by the specified instance type.
45271
45281
 
45282
+ These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.
45283
+
45284
+ If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.
45272
45285
  .. epigraph::
45273
45286
 
45274
- When specifying weights, the price used in the ``lowest-price`` and ``price-capacity-optimized`` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested ``TargetCapacity`` , resulting in only 1 instance being launched, the price used is per *instance* hour.
45287
+ When specifying weights, the price used in the ``lowestPrice`` and ``priceCapacityOptimized`` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested ``TargetCapacity`` , resulting in only 1 instance being launched, the price used is per *instance* hour.
45275
45288
 
45276
45289
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-weightedcapacity
45277
45290
  '''
@@ -45904,7 +45917,7 @@ class CfnSpotFleet(
45904
45917
  :param subnet_id: The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2". If you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.
45905
45918
  :param tag_specifications: The tags to apply during creation.
45906
45919
  :param user_data: The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.
45907
- :param weighted_capacity: The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O. If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.
45920
+ :param weighted_capacity: The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O. If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1. .. epigraph:: When specifying weights, the price used in the ``lowestPrice`` and ``priceCapacityOptimized`` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested ``TargetCapacity`` , resulting in only 1 instance being launched, the price used is per *instance* hour.
45908
45921
 
45909
45922
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html
45910
45923
  :exampleMetadata: fixture=_generated
@@ -46304,6 +46317,9 @@ class CfnSpotFleet(
46304
46317
  These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.
46305
46318
 
46306
46319
  If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.
46320
+ .. epigraph::
46321
+
46322
+ When specifying weights, the price used in the ``lowestPrice`` and ``priceCapacityOptimized`` allocation strategies is per *unit* hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested ``TargetCapacity`` , resulting in only 1 instance being launched, the price used is per *instance* hour.
46307
46323
 
46308
46324
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-weightedcapacity
46309
46325
  '''
@@ -72275,6 +72291,51 @@ class Instance(
72275
72291
  check_type(argname="argument commands", value=commands, expected_type=typing.Tuple[type_hints["commands"], ...]) # pyright: ignore [reportGeneralTypeIssues]
72276
72292
  return typing.cast(None, jsii.invoke(self, "addUserData", [*commands]))
72277
72293
 
72294
+ @jsii.member(jsii_name="applyCloudFormationInit")
72295
+ def apply_cloud_formation_init(
72296
+ self,
72297
+ init: CloudFormationInit,
72298
+ *,
72299
+ config_sets: typing.Optional[typing.Sequence[builtins.str]] = None,
72300
+ embed_fingerprint: typing.Optional[builtins.bool] = None,
72301
+ ignore_failures: typing.Optional[builtins.bool] = None,
72302
+ include_role: typing.Optional[builtins.bool] = None,
72303
+ include_url: typing.Optional[builtins.bool] = None,
72304
+ print_log: typing.Optional[builtins.bool] = None,
72305
+ timeout: typing.Optional[_Duration_4839e8c3] = None,
72306
+ ) -> None:
72307
+ '''Use a CloudFormation Init configuration at instance startup.
72308
+
72309
+ This does the following:
72310
+
72311
+ - Attaches the CloudFormation Init metadata to the Instance resource.
72312
+ - Add commands to the instance UserData to run ``cfn-init`` and ``cfn-signal``.
72313
+ - Update the instance's CreationPolicy to wait for the ``cfn-signal`` commands.
72314
+
72315
+ :param init: -
72316
+ :param config_sets: ConfigSet to activate. Default: ['default']
72317
+ :param embed_fingerprint: Force instance replacement by embedding a config fingerprint. If ``true`` (the default), a hash of the config will be embedded into the UserData, so that if the config changes, the UserData changes. - If the EC2 instance is instance-store backed or ``userDataCausesReplacement`` is set, this will cause the instance to be replaced and the new configuration to be applied. - If the instance is EBS-backed and ``userDataCausesReplacement`` is not set, the change of UserData will make the instance restart but not be replaced, and the configuration will not be applied automatically. If ``false``, no hash will be embedded, and if the CloudFormation Init config changes nothing will happen to the running instance. If a config update introduces errors, you will not notice until after the CloudFormation deployment successfully finishes and the next instance fails to launch. Default: true
72318
+ :param ignore_failures: Don't fail the instance creation when cfn-init fails. You can use this to prevent CloudFormation from rolling back when instances fail to start up, to help in debugging. Default: false
72319
+ :param include_role: Include --role argument when running cfn-init and cfn-signal commands. This will be the IAM instance profile attached to the EC2 instance Default: false
72320
+ :param include_url: Include --url argument when running cfn-init and cfn-signal commands. This will be the cloudformation endpoint in the deployed region e.g. https://cloudformation.us-east-1.amazonaws.com Default: false
72321
+ :param print_log: Print the results of running cfn-init to the Instance System Log. By default, the output of running cfn-init is written to a log file on the instance. Set this to ``true`` to print it to the System Log (visible from the EC2 Console), ``false`` to not print it. (Be aware that the system log is refreshed at certain points in time of the instance life cycle, and successful execution may not always show up). Default: true
72322
+ :param timeout: Timeout waiting for the configuration to be applied. Default: Duration.minutes(5)
72323
+ '''
72324
+ if __debug__:
72325
+ type_hints = typing.get_type_hints(_typecheckingstub__53b303537c54bd04722c794882b372a979c13db12619a012ce63ca57718733ff)
72326
+ check_type(argname="argument init", value=init, expected_type=type_hints["init"])
72327
+ options = ApplyCloudFormationInitOptions(
72328
+ config_sets=config_sets,
72329
+ embed_fingerprint=embed_fingerprint,
72330
+ ignore_failures=ignore_failures,
72331
+ include_role=include_role,
72332
+ include_url=include_url,
72333
+ print_log=print_log,
72334
+ timeout=timeout,
72335
+ )
72336
+
72337
+ return typing.cast(None, jsii.invoke(self, "applyCloudFormationInit", [init, options]))
72338
+
72278
72339
  @builtins.property
72279
72340
  @jsii.member(jsii_name="connections")
72280
72341
  def connections(self) -> "Connections":
@@ -72782,6 +72843,10 @@ class InstanceClass(enum.Enum):
72782
72843
  '''Graphics-optimized instances powered by AWS Graviton2 Processors and NVIDIA T4G Tensor Core GPUs, 5th generation.'''
72783
72844
  G5G = "G5G"
72784
72845
  '''Graphics-optimized instances powered by AWS Graviton2 Processors and NVIDIA T4G Tensor Core GPUs, 5th generation.'''
72846
+ GRAPHICS6 = "GRAPHICS6"
72847
+ '''Graphics-optimized instances, 6th generation.'''
72848
+ G6 = "G6"
72849
+ '''Graphics-optimized instances, 6th generation.'''
72785
72850
  PARALLEL2 = "PARALLEL2"
72786
72851
  '''Parallel-processing optimized instances, 2nd generation.'''
72787
72852
  P2 = "P2"
@@ -76570,6 +76635,7 @@ class LaunchTemplate(
76570
76635
  security_group: typing.Optional[ISecurityGroup] = None,
76571
76636
  spot_options: typing.Optional[typing.Union["LaunchTemplateSpotOptions", typing.Dict[builtins.str, typing.Any]]] = None,
76572
76637
  user_data: typing.Optional["UserData"] = None,
76638
+ version_description: typing.Optional[builtins.str] = None,
76573
76639
  ) -> None:
76574
76640
  '''
76575
76641
  :param scope: -
@@ -76599,6 +76665,7 @@ class LaunchTemplate(
76599
76665
  :param security_group: Security group to assign to instances created with the launch template. Default: No security group is assigned.
76600
76666
  :param spot_options: If this property is defined, then the Launch Template's InstanceMarketOptions will be set to use Spot instances, and the options for the Spot instances will be as defined. Default: - Instance launched with this template will not be spot instances.
76601
76667
  :param user_data: The AMI that will be used by instances. Default: - This Launch Template creates a UserData based on the type of provided machineImage; no UserData is created if a machineImage is not provided
76668
+ :param version_description: A description for the first version of the launch template. The version description must be maximum 255 characters long. Default: - No description
76602
76669
  '''
76603
76670
  if __debug__:
76604
76671
  type_hints = typing.get_type_hints(_typecheckingstub__544aef11081ec87047935491f75a3d5bc9d5075de77f96969bd2ffd1a0d78cc9)
@@ -76630,6 +76697,7 @@ class LaunchTemplate(
76630
76697
  security_group=security_group,
76631
76698
  spot_options=spot_options,
76632
76699
  user_data=user_data,
76700
+ version_description=version_description,
76633
76701
  )
76634
76702
 
76635
76703
  jsii.create(self.__class__, self, [scope, id, props])
@@ -76938,6 +77006,7 @@ class LaunchTemplateHttpTokens(enum.Enum):
76938
77006
  "security_group": "securityGroup",
76939
77007
  "spot_options": "spotOptions",
76940
77008
  "user_data": "userData",
77009
+ "version_description": "versionDescription",
76941
77010
  },
76942
77011
  )
76943
77012
  class LaunchTemplateProps:
@@ -76969,6 +77038,7 @@ class LaunchTemplateProps:
76969
77038
  security_group: typing.Optional[ISecurityGroup] = None,
76970
77039
  spot_options: typing.Optional[typing.Union["LaunchTemplateSpotOptions", typing.Dict[builtins.str, typing.Any]]] = None,
76971
77040
  user_data: typing.Optional["UserData"] = None,
77041
+ version_description: typing.Optional[builtins.str] = None,
76972
77042
  ) -> None:
76973
77043
  '''Properties of a LaunchTemplate.
76974
77044
 
@@ -76997,6 +77067,7 @@ class LaunchTemplateProps:
76997
77067
  :param security_group: Security group to assign to instances created with the launch template. Default: No security group is assigned.
76998
77068
  :param spot_options: If this property is defined, then the Launch Template's InstanceMarketOptions will be set to use Spot instances, and the options for the Spot instances will be as defined. Default: - Instance launched with this template will not be spot instances.
76999
77069
  :param user_data: The AMI that will be used by instances. Default: - This Launch Template creates a UserData based on the type of provided machineImage; no UserData is created if a machineImage is not provided
77070
+ :param version_description: A description for the first version of the launch template. The version description must be maximum 255 characters long. Default: - No description
77000
77071
 
77001
77072
  :exampleMetadata: infused
77002
77073
 
@@ -77048,6 +77119,7 @@ class LaunchTemplateProps:
77048
77119
  check_type(argname="argument security_group", value=security_group, expected_type=type_hints["security_group"])
77049
77120
  check_type(argname="argument spot_options", value=spot_options, expected_type=type_hints["spot_options"])
77050
77121
  check_type(argname="argument user_data", value=user_data, expected_type=type_hints["user_data"])
77122
+ check_type(argname="argument version_description", value=version_description, expected_type=type_hints["version_description"])
77051
77123
  self._values: typing.Dict[builtins.str, typing.Any] = {}
77052
77124
  if associate_public_ip_address is not None:
77053
77125
  self._values["associate_public_ip_address"] = associate_public_ip_address
@@ -77099,6 +77171,8 @@ class LaunchTemplateProps:
77099
77171
  self._values["spot_options"] = spot_options
77100
77172
  if user_data is not None:
77101
77173
  self._values["user_data"] = user_data
77174
+ if version_description is not None:
77175
+ self._values["version_description"] = version_description
77102
77176
 
77103
77177
  @builtins.property
77104
77178
  def associate_public_ip_address(self) -> typing.Optional[builtins.bool]:
@@ -77383,6 +77457,19 @@ class LaunchTemplateProps:
77383
77457
  result = self._values.get("user_data")
77384
77458
  return typing.cast(typing.Optional["UserData"], result)
77385
77459
 
77460
+ @builtins.property
77461
+ def version_description(self) -> typing.Optional[builtins.str]:
77462
+ '''A description for the first version of the launch template.
77463
+
77464
+ The version description must be maximum 255 characters long.
77465
+
77466
+ :default: - No description
77467
+
77468
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-versiondescription
77469
+ '''
77470
+ result = self._values.get("version_description")
77471
+ return typing.cast(typing.Optional[builtins.str], result)
77472
+
77386
77473
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
77387
77474
  return isinstance(rhs, self.__class__) and rhs._values == self._values
77388
77475
 
@@ -77926,6 +78013,72 @@ class LogFormat(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_ec2.LogForma
77926
78013
  '''The destination port of the traffic.'''
77927
78014
  return typing.cast("LogFormat", jsii.sget(cls, "DST_PORT"))
77928
78015
 
78016
+ @jsii.python.classproperty
78017
+ @jsii.member(jsii_name="ECS_CLUSTER_ARN")
78018
+ def ECS_CLUSTER_ARN(cls) -> "LogFormat":
78019
+ '''AWS Resource Name (ARN) of the ECS cluster if the traffic is from a running ECS task.'''
78020
+ return typing.cast("LogFormat", jsii.sget(cls, "ECS_CLUSTER_ARN"))
78021
+
78022
+ @jsii.python.classproperty
78023
+ @jsii.member(jsii_name="ECS_CLUSTER_NAME")
78024
+ def ECS_CLUSTER_NAME(cls) -> "LogFormat":
78025
+ '''Name of the ECS cluster if the traffic is from a running ECS task.'''
78026
+ return typing.cast("LogFormat", jsii.sget(cls, "ECS_CLUSTER_NAME"))
78027
+
78028
+ @jsii.python.classproperty
78029
+ @jsii.member(jsii_name="ECS_CONTAINER_ID")
78030
+ def ECS_CONTAINER_ID(cls) -> "LogFormat":
78031
+ '''Docker runtime ID of the container if the traffic is from a running ECS task.
78032
+
78033
+ If there is one container or more in the ECS task, this will be the docker runtime ID of the first container.
78034
+ '''
78035
+ return typing.cast("LogFormat", jsii.sget(cls, "ECS_CONTAINER_ID"))
78036
+
78037
+ @jsii.python.classproperty
78038
+ @jsii.member(jsii_name="ECS_CONTAINER_INSTANCE_ARN")
78039
+ def ECS_CONTAINER_INSTANCE_ARN(cls) -> "LogFormat":
78040
+ '''ARN of the ECS container instance if the traffic is from a running ECS task on an EC2 instance.'''
78041
+ return typing.cast("LogFormat", jsii.sget(cls, "ECS_CONTAINER_INSTANCE_ARN"))
78042
+
78043
+ @jsii.python.classproperty
78044
+ @jsii.member(jsii_name="ECS_CONTAINER_INSTANCE_ID")
78045
+ def ECS_CONTAINER_INSTANCE_ID(cls) -> "LogFormat":
78046
+ '''ID of the ECS container instance if the traffic is from a running ECS task on an EC2 instance.'''
78047
+ return typing.cast("LogFormat", jsii.sget(cls, "ECS_CONTAINER_INSTANCE_ID"))
78048
+
78049
+ @jsii.python.classproperty
78050
+ @jsii.member(jsii_name="ECS_SECOND_CONTAINER_ID")
78051
+ def ECS_SECOND_CONTAINER_ID(cls) -> "LogFormat":
78052
+ '''Docker runtime ID of the container if the traffic is from a running ECS task.
78053
+
78054
+ If there is more than one container in the ECS task, this will be the Docker runtime ID of the second container.
78055
+ '''
78056
+ return typing.cast("LogFormat", jsii.sget(cls, "ECS_SECOND_CONTAINER_ID"))
78057
+
78058
+ @jsii.python.classproperty
78059
+ @jsii.member(jsii_name="ECS_SERVICE_NAME")
78060
+ def ECS_SERVICE_NAME(cls) -> "LogFormat":
78061
+ '''Name of the ECS service if the traffic is from a running ECS task and the ECS task is started by an ECS service.'''
78062
+ return typing.cast("LogFormat", jsii.sget(cls, "ECS_SERVICE_NAME"))
78063
+
78064
+ @jsii.python.classproperty
78065
+ @jsii.member(jsii_name="ECS_TASK_ARN")
78066
+ def ECS_TASK_ARN(cls) -> "LogFormat":
78067
+ '''ARN of the ECS task if the traffic is from a running ECS task.'''
78068
+ return typing.cast("LogFormat", jsii.sget(cls, "ECS_TASK_ARN"))
78069
+
78070
+ @jsii.python.classproperty
78071
+ @jsii.member(jsii_name="ECS_TASK_DEFINITION_ARN")
78072
+ def ECS_TASK_DEFINITION_ARN(cls) -> "LogFormat":
78073
+ '''ARN of the ECS task definition if the traffic is from a running ECS task.'''
78074
+ return typing.cast("LogFormat", jsii.sget(cls, "ECS_TASK_DEFINITION_ARN"))
78075
+
78076
+ @jsii.python.classproperty
78077
+ @jsii.member(jsii_name="ECS_TASK_ID")
78078
+ def ECS_TASK_ID(cls) -> "LogFormat":
78079
+ '''ID of the ECS task if the traffic is from a running ECS task.'''
78080
+ return typing.cast("LogFormat", jsii.sget(cls, "ECS_TASK_ID"))
78081
+
77929
78082
  @jsii.python.classproperty
77930
78083
  @jsii.member(jsii_name="END_TIMESTAMP")
77931
78084
  def END_TIMESTAMP(cls) -> "LogFormat":
@@ -86586,6 +86739,12 @@ class VpcEndpointService(
86586
86739
 
86587
86740
  jsii.create(self.__class__, self, [scope, id, props])
86588
86741
 
86742
+ @jsii.python.classproperty
86743
+ @jsii.member(jsii_name="DEFAULT_PREFIX")
86744
+ def DEFAULT_PREFIX(cls) -> builtins.str:
86745
+ '''The default value for a VPC Endpoint Service name prefix, useful if you do not have a synthesize-time region literal available (all you have is ``{ "Ref": "AWS::Region" }``).'''
86746
+ return typing.cast(builtins.str, jsii.sget(cls, "DEFAULT_PREFIX"))
86747
+
86589
86748
  @builtins.property
86590
86749
  @jsii.member(jsii_name="acceptanceRequired")
86591
86750
  def acceptance_required(self) -> builtins.bool:
@@ -91889,6 +92048,80 @@ class MultipartUserData(
91889
92048
  return typing.cast(builtins.str, jsii.invoke(self, "render", []))
91890
92049
 
91891
92050
 
92051
+ class NatGatewayProvider(
92052
+ NatProvider,
92053
+ metaclass=jsii.JSIIMeta,
92054
+ jsii_type="aws-cdk-lib.aws_ec2.NatGatewayProvider",
92055
+ ):
92056
+ '''Provider for NAT Gateways.
92057
+
92058
+ :exampleMetadata: fixture=_generated
92059
+
92060
+ Example::
92061
+
92062
+ # The code below shows an example of how to instantiate this type.
92063
+ # The values are placeholders you should change.
92064
+ from aws_cdk import aws_ec2 as ec2
92065
+
92066
+ nat_gateway_provider = ec2.NatGatewayProvider(
92067
+ eip_allocation_ids=["eipAllocationIds"]
92068
+ )
92069
+ '''
92070
+
92071
+ def __init__(
92072
+ self,
92073
+ *,
92074
+ eip_allocation_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
92075
+ ) -> None:
92076
+ '''
92077
+ :param eip_allocation_ids: EIP allocation IDs for the NAT gateways. Default: - No fixed EIPs allocated for the NAT gateways
92078
+ '''
92079
+ props = NatGatewayProps(eip_allocation_ids=eip_allocation_ids)
92080
+
92081
+ jsii.create(self.__class__, self, [props])
92082
+
92083
+ @jsii.member(jsii_name="configureNat")
92084
+ def configure_nat(
92085
+ self,
92086
+ *,
92087
+ nat_subnets: typing.Sequence["PublicSubnet"],
92088
+ private_subnets: typing.Sequence["PrivateSubnet"],
92089
+ vpc: Vpc,
92090
+ ) -> None:
92091
+ '''Called by the VPC to configure NAT.
92092
+
92093
+ Don't call this directly, the VPC will call it automatically.
92094
+
92095
+ :param nat_subnets: The public subnets where the NAT providers need to be placed.
92096
+ :param private_subnets: The private subnets that need to route through the NAT providers. There may be more private subnets than public subnets with NAT providers.
92097
+ :param vpc: The VPC we're configuring NAT for.
92098
+ '''
92099
+ options = ConfigureNatOptions(
92100
+ nat_subnets=nat_subnets, private_subnets=private_subnets, vpc=vpc
92101
+ )
92102
+
92103
+ return typing.cast(None, jsii.invoke(self, "configureNat", [options]))
92104
+
92105
+ @jsii.member(jsii_name="configureSubnet")
92106
+ def configure_subnet(self, subnet: "PrivateSubnet") -> None:
92107
+ '''Configures subnet with the gateway.
92108
+
92109
+ Don't call this directly, the VPC will call it automatically.
92110
+
92111
+ :param subnet: -
92112
+ '''
92113
+ if __debug__:
92114
+ type_hints = typing.get_type_hints(_typecheckingstub__2c352330578bedc14b307b90db4cdd21ccfc59ed0e509c561759015133bdfac9)
92115
+ check_type(argname="argument subnet", value=subnet, expected_type=type_hints["subnet"])
92116
+ return typing.cast(None, jsii.invoke(self, "configureSubnet", [subnet]))
92117
+
92118
+ @builtins.property
92119
+ @jsii.member(jsii_name="configuredGateways")
92120
+ def configured_gateways(self) -> typing.List[GatewayConfig]:
92121
+ '''Return list of gateways spawned by the provider.'''
92122
+ return typing.cast(typing.List[GatewayConfig], jsii.get(self, "configuredGateways"))
92123
+
92124
+
91892
92125
  @jsii.implements(IConnectable)
91893
92126
  class NatInstanceProvider(
91894
92127
  NatProvider,
@@ -94292,6 +94525,7 @@ __all__ = [
94292
94525
  "MultipartUserDataOptions",
94293
94526
  "NamedPackageOptions",
94294
94527
  "NatGatewayProps",
94528
+ "NatGatewayProvider",
94295
94529
  "NatInstanceImage",
94296
94530
  "NatInstanceProps",
94297
94531
  "NatInstanceProvider",
@@ -104316,6 +104550,20 @@ def _typecheckingstub__82601f36068811ad664f607ef04191e661dad31e73a2a8f4f2c40217f
104316
104550
  """Type checking stubs"""
104317
104551
  pass
104318
104552
 
104553
+ def _typecheckingstub__53b303537c54bd04722c794882b372a979c13db12619a012ce63ca57718733ff(
104554
+ init: CloudFormationInit,
104555
+ *,
104556
+ config_sets: typing.Optional[typing.Sequence[builtins.str]] = None,
104557
+ embed_fingerprint: typing.Optional[builtins.bool] = None,
104558
+ ignore_failures: typing.Optional[builtins.bool] = None,
104559
+ include_role: typing.Optional[builtins.bool] = None,
104560
+ include_url: typing.Optional[builtins.bool] = None,
104561
+ print_log: typing.Optional[builtins.bool] = None,
104562
+ timeout: typing.Optional[_Duration_4839e8c3] = None,
104563
+ ) -> None:
104564
+ """Type checking stubs"""
104565
+ pass
104566
+
104319
104567
  def _typecheckingstub__2d4dc63c6e6ee3ddc68d5dd204d8ac5ef1f1dec37a7b84d636225df1c2f17d22(
104320
104568
  *,
104321
104569
  instance_type: InstanceType,
@@ -104542,6 +104790,7 @@ def _typecheckingstub__544aef11081ec87047935491f75a3d5bc9d5075de77f96969bd2ffd1a
104542
104790
  security_group: typing.Optional[ISecurityGroup] = None,
104543
104791
  spot_options: typing.Optional[typing.Union[LaunchTemplateSpotOptions, typing.Dict[builtins.str, typing.Any]]] = None,
104544
104792
  user_data: typing.Optional[UserData] = None,
104793
+ version_description: typing.Optional[builtins.str] = None,
104545
104794
  ) -> None:
104546
104795
  """Type checking stubs"""
104547
104796
  pass
@@ -104599,6 +104848,7 @@ def _typecheckingstub__e2ebb1bf0fbb2f9e894169a610cd9fb7cc3f827d34d3a10351bd2f517
104599
104848
  security_group: typing.Optional[ISecurityGroup] = None,
104600
104849
  spot_options: typing.Optional[typing.Union[LaunchTemplateSpotOptions, typing.Dict[builtins.str, typing.Any]]] = None,
104601
104850
  user_data: typing.Optional[UserData] = None,
104851
+ version_description: typing.Optional[builtins.str] = None,
104602
104852
  ) -> None:
104603
104853
  """Type checking stubs"""
104604
104854
  pass
@@ -106275,6 +106525,12 @@ def _typecheckingstub__d7099fb74981d61c8dfdb2cc1b9c36254deb6f003b7e88f104b7a0a35
106275
106525
  """Type checking stubs"""
106276
106526
  pass
106277
106527
 
106528
+ def _typecheckingstub__2c352330578bedc14b307b90db4cdd21ccfc59ed0e509c561759015133bdfac9(
106529
+ subnet: PrivateSubnet,
106530
+ ) -> None:
106531
+ """Type checking stubs"""
106532
+ pass
106533
+
106278
106534
  def _typecheckingstub__53772cd5bc705ccbd691b4063a85c8427a71a5c9fc29d3af5c0a334c7df3f57a(
106279
106535
  subnet: PrivateSubnet,
106280
106536
  ) -> None: