aws-cdk-lib 2.171.1__py3-none-any.whl → 2.173.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 (78) hide show
  1. aws_cdk/__init__.py +528 -161
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.171.1.jsii.tgz → aws-cdk-lib@2.173.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +40 -40
  5. aws_cdk/aws_apigateway/__init__.py +1357 -120
  6. aws_cdk/aws_applicationautoscaling/__init__.py +141 -66
  7. aws_cdk/aws_appsync/__init__.py +163 -139
  8. aws_cdk/aws_autoscaling/__init__.py +96 -30
  9. aws_cdk/aws_bedrock/__init__.py +80 -44
  10. aws_cdk/aws_chatbot/__init__.py +803 -2
  11. aws_cdk/aws_cleanrooms/__init__.py +4 -6
  12. aws_cdk/aws_cloudformation/__init__.py +240 -159
  13. aws_cdk/aws_cloudfront/__init__.py +15 -7
  14. aws_cdk/aws_cloudtrail/__init__.py +802 -13
  15. aws_cdk/aws_cloudwatch/__init__.py +51 -14
  16. aws_cdk/aws_codebuild/__init__.py +39 -0
  17. aws_cdk/aws_codepipeline/__init__.py +4 -4
  18. aws_cdk/aws_cognito/__init__.py +1032 -43
  19. aws_cdk/aws_config/__init__.py +13 -10
  20. aws_cdk/aws_connect/__init__.py +454 -23
  21. aws_cdk/aws_connectcampaignsv2/__init__.py +187 -176
  22. aws_cdk/aws_customerprofiles/__init__.py +3148 -0
  23. aws_cdk/aws_docdb/__init__.py +128 -0
  24. aws_cdk/aws_dynamodb/__init__.py +256 -0
  25. aws_cdk/aws_ec2/__init__.py +976 -27
  26. aws_cdk/aws_ecs/__init__.py +37 -20
  27. aws_cdk/aws_eks/__init__.py +771 -0
  28. aws_cdk/aws_elasticache/__init__.py +22 -22
  29. aws_cdk/aws_elasticloadbalancingv2/__init__.py +441 -177
  30. aws_cdk/aws_events/__init__.py +550 -30
  31. aws_cdk/aws_fsx/__init__.py +134 -10
  32. aws_cdk/aws_imagebuilder/__init__.py +8 -8
  33. aws_cdk/aws_invoicing/__init__.py +651 -0
  34. aws_cdk/aws_iot/__init__.py +70 -26
  35. aws_cdk/aws_iotfleetwise/__init__.py +1033 -382
  36. aws_cdk/aws_iotsitewise/__init__.py +158 -0
  37. aws_cdk/aws_ivs/__init__.py +43 -31
  38. aws_cdk/aws_kendra/__init__.py +4 -0
  39. aws_cdk/aws_lakeformation/__init__.py +2 -1
  40. aws_cdk/aws_lambda/__init__.py +272 -164
  41. aws_cdk/aws_lambda_event_sources/__init__.py +2 -1
  42. aws_cdk/aws_lambda_nodejs/__init__.py +11 -11
  43. aws_cdk/aws_logs/__init__.py +532 -0
  44. aws_cdk/aws_m2/__init__.py +289 -0
  45. aws_cdk/aws_mediaconnect/__init__.py +24 -14
  46. aws_cdk/aws_medialive/__init__.py +2359 -5
  47. aws_cdk/aws_mediapackage/__init__.py +3 -9
  48. aws_cdk/aws_mediapackagev2/__init__.py +19 -17
  49. aws_cdk/aws_memorydb/__init__.py +664 -4
  50. aws_cdk/aws_mwaa/__init__.py +6 -6
  51. aws_cdk/aws_opensearchserverless/__init__.py +249 -1
  52. aws_cdk/aws_pipes/__init__.py +14 -30
  53. aws_cdk/aws_qbusiness/__init__.py +2021 -67
  54. aws_cdk/aws_quicksight/__init__.py +8270 -10
  55. aws_cdk/aws_rbin/__init__.py +53 -34
  56. aws_cdk/aws_rds/__init__.py +170 -8
  57. aws_cdk/aws_resourcegroups/__init__.py +362 -4
  58. aws_cdk/aws_route53/__init__.py +1177 -10
  59. aws_cdk/aws_route53_targets/__init__.py +297 -91
  60. aws_cdk/aws_route53resolver/__init__.py +19 -8
  61. aws_cdk/aws_s3/__init__.py +4 -4
  62. aws_cdk/aws_s3express/__init__.py +421 -9
  63. aws_cdk/aws_sagemaker/__init__.py +905 -119
  64. aws_cdk/aws_secretsmanager/__init__.py +20 -6
  65. aws_cdk/aws_securityhub/__init__.py +64 -32
  66. aws_cdk/aws_servicediscovery/__init__.py +43 -0
  67. aws_cdk/aws_ses/__init__.py +188 -41
  68. aws_cdk/aws_stepfunctions_tasks/__init__.py +190 -35
  69. aws_cdk/aws_synthetics/__init__.py +7 -5
  70. aws_cdk/aws_vpclattice/__init__.py +1479 -122
  71. aws_cdk/aws_wisdom/__init__.py +8509 -1502
  72. aws_cdk/aws_workspacesweb/__init__.py +1081 -0
  73. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/METADATA +1 -1
  74. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/RECORD +78 -77
  75. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/LICENSE +0 -0
  76. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/NOTICE +0 -0
  77. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/WHEEL +0 -0
  78. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/top_level.txt +0 -0
@@ -1658,6 +1658,19 @@ host = ec2.BastionHostLinux(self, "BastionHost",
1658
1658
  )
1659
1659
  ```
1660
1660
 
1661
+ It's recommended to set the `@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault`
1662
+ [feature flag](https://docs.aws.amazon.com/cdk/v2/guide/featureflags.html) to `true` to use Amazon Linux 2023 as the
1663
+ bastion host AMI. Without this flag set, the bastion host will default to Amazon Linux 2, which will be unsupported in
1664
+ June 2025.
1665
+
1666
+ ```json
1667
+ {
1668
+ "context": {
1669
+ "@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": true
1670
+ }
1671
+ }
1672
+ ```
1673
+
1661
1674
  ### Placement Group
1662
1675
 
1663
1676
  Specify `placementGroup` to enable the placement group support:
@@ -2604,6 +2617,30 @@ ec2.PrefixList(self, "PrefixList",
2604
2617
  ```
2605
2618
 
2606
2619
  For more information see [Work with customer-managed prefix lists](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-managed-prefix-lists.html)
2620
+
2621
+ ### IAM instance profile
2622
+
2623
+ Use `instanceProfile` to apply specific IAM Instance Profile. Cannot be used with role
2624
+
2625
+ ```python
2626
+ # instance_type: ec2.InstanceType
2627
+ # vpc: ec2.Vpc
2628
+
2629
+
2630
+ role = iam.Role(self, "Role",
2631
+ assumed_by=iam.ServicePrincipal("ec2.amazonaws.com")
2632
+ )
2633
+ instance_profile = iam.InstanceProfile(self, "InstanceProfile",
2634
+ role=role
2635
+ )
2636
+
2637
+ ec2.Instance(self, "Instance",
2638
+ vpc=vpc,
2639
+ instance_type=instance_type,
2640
+ machine_image=ec2.MachineImage.latest_amazon_linux2023(),
2641
+ instance_profile=instance_profile
2642
+ )
2643
+ ```
2607
2644
  '''
2608
2645
  from pkgutil import extend_path
2609
2646
  __path__ = extend_path(__path__, __name__)
@@ -5132,7 +5169,7 @@ class BastionHostLinuxProps:
5132
5169
  :param init_options: Use the given options for applying CloudFormation Init. Describes the configsets to use and the timeout to wait Default: - default options
5133
5170
  :param instance_name: The name of the instance. Default: 'BastionHost'
5134
5171
  :param instance_type: Type of instance to launch. Default: 't3.nano'
5135
- :param machine_image: The machine image to use, assumed to have SSM Agent preinstalled. Default: - An Amazon Linux 2 image which is kept up-to-date automatically (the instance may be replaced on every deployment) and already has SSM Agent installed.
5172
+ :param machine_image: The machine image to use, assumed to have SSM Agent preinstalled. Default: - An Amazon Linux 2023 image if the ``@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault`` feature flag is enabled. Otherwise, an Amazon Linux 2 image. In both cases, the image is kept up-to-date automatically (the instance may be replaced on every deployment) and already has SSM Agent installed.
5136
5173
  :param require_imdsv2: Whether IMDSv2 should be required on this instance. Default: - false
5137
5174
  :param security_group: Security Group to assign to this instance. Default: - create new security group with no inbound and all outbound traffic allowed
5138
5175
  :param subnet_selection: Select the subnets to run the bastion host in. Set this to PUBLIC if you need to connect to this instance via the internet and cannot use SSM. You have to allow port 22 manually by using the connections field Default: - private subnets of the supplied VPC
@@ -5272,7 +5309,7 @@ class BastionHostLinuxProps:
5272
5309
 
5273
5310
  :default:
5274
5311
 
5275
- - An Amazon Linux 2 image which is kept up-to-date automatically (the instance
5312
+ - An Amazon Linux 2023 image if the ``@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault`` feature flag is enabled. Otherwise, an Amazon Linux 2 image. In both cases, the image is kept up-to-date automatically (the instance
5276
5313
  may be replaced on every deployment) and already has SSM Agent installed.
5277
5314
  '''
5278
5315
  result = self._values.get("machine_image")
@@ -5656,16 +5693,16 @@ class CfnCapacityReservation(
5656
5693
  :param scope: Scope in which this resource is defined.
5657
5694
  :param id: Construct identifier for this resource (unique in its scope).
5658
5695
  :param availability_zone: The Availability Zone in which to create the Capacity Reservation.
5659
- :param instance_count: The number of instances for which to reserve capacity. Valid range: 1 - 1000
5696
+ :param instance_count: The number of instances for which to reserve capacity. .. epigraph:: You can request future-dated Capacity Reservations for an instance count with a minimum of 100 VPUs. For example, if you request a future-dated Capacity Reservation for ``m5.xlarge`` instances, you must request at least 25 instances ( *25 * m5.xlarge = 100 vCPUs* ). Valid range: 1 - 1000
5660
5697
  :param instance_platform: The type of operating system for which to reserve capacity.
5661
- :param instance_type: The instance type for which to reserve capacity. For more information, see `Instance types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html>`_ in the *Amazon EC2 User Guide* .
5698
+ :param instance_type: The instance type for which to reserve capacity. .. epigraph:: You can request future-dated Capacity Reservations for instance types in the C, M, R, I, and T instance families only. For more information, see `Instance types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html>`_ in the *Amazon EC2 User Guide* .
5662
5699
  :param ebs_optimized: Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS- optimized instance.
5663
- :param end_date: The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to ``expired`` when it reaches its end date and time. You must provide an ``EndDate`` value if ``EndDateType`` is ``limited`` . Omit ``EndDate`` if ``EndDateType`` is ``unlimited`` . If the ``EndDateType`` is ``limited`` , the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.
5700
+ :param end_date: The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to ``expired`` when it reaches its end date and time. You must provide an ``EndDate`` value if ``EndDateType`` is ``limited`` . Omit ``EndDate`` if ``EndDateType`` is ``unlimited`` . If the ``EndDateType`` is ``limited`` , the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019. If you are requesting a future-dated Capacity Reservation, you can't specify an end date and time that is within the commitment duration.
5664
5701
  :param end_date_type: Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types: - ``unlimited`` - The Capacity Reservation remains active until you explicitly cancel it. Do not provide an ``EndDate`` if the ``EndDateType`` is ``unlimited`` . - ``limited`` - The Capacity Reservation expires automatically at a specified date and time. You must provide an ``EndDate`` value if the ``EndDateType`` value is ``limited`` .
5665
5702
  :param ephemeral_storage: *Deprecated.*.
5666
- :param instance_match_criteria: Indicates the type of instance launches that the Capacity Reservation accepts. The options include:. - ``open`` - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying any additional parameters. - ``targeted`` - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity. Default: ``open``
5667
- :param out_post_arn: The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.
5668
- :param placement_group_arn: The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. For more information, see `Capacity Reservations for cluster placement groups <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html>`_ in the *Amazon EC2 User Guide* .
5703
+ :param instance_match_criteria: Indicates the type of instance launches that the Capacity Reservation accepts. The options include:. - ``open`` - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying any additional parameters. - ``targeted`` - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity. .. epigraph:: If you are requesting a future-dated Capacity Reservation, you must specify ``targeted`` . Default: ``open``
5704
+ :param out_post_arn: .. epigraph:: Not supported for future-dated Capacity Reservations. The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.
5705
+ :param placement_group_arn: .. epigraph:: Not supported for future-dated Capacity Reservations. The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. For more information, see `Capacity Reservations for cluster placement groups <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html>`_ in the *Amazon EC2 User Guide* .
5669
5706
  :param tag_specifications: The tags to apply to the Capacity Reservation during launch.
5670
5707
  :param tenancy: Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:. - ``default`` - The Capacity Reservation is created on hardware that is shared with other AWS accounts . - ``dedicated`` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account .
5671
5708
  :param unused_reservation_billing_owner_id: The ID of the AWS account to which to assign billing of the unused capacity of the Capacity Reservation. A request will be sent to the specified account. That account must accept the request for the billing to be assigned to their account. For more information, see `Billing assignment for shared Amazon EC2 Capacity Reservations <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/assign-billing.html>`_ . You can assign billing only for shared Capacity Reservations. To share a Capacity Reservation, you must add it to a resource share. For more information, see `AWS::RAM::ResourceShare <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html>`_ .
@@ -5925,7 +5962,9 @@ class CfnCapacityReservation(
5925
5962
  @builtins.property
5926
5963
  @jsii.member(jsii_name="outPostArn")
5927
5964
  def out_post_arn(self) -> typing.Optional[builtins.str]:
5928
- '''The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.'''
5965
+ '''.. epigraph::
5966
+
5967
+ Not supported for future-dated Capacity Reservations.'''
5929
5968
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "outPostArn"))
5930
5969
 
5931
5970
  @out_post_arn.setter
@@ -5938,7 +5977,9 @@ class CfnCapacityReservation(
5938
5977
  @builtins.property
5939
5978
  @jsii.member(jsii_name="placementGroupArn")
5940
5979
  def placement_group_arn(self) -> typing.Optional[builtins.str]:
5941
- '''The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation.'''
5980
+ '''.. epigraph::
5981
+
5982
+ Not supported for future-dated Capacity Reservations.'''
5942
5983
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "placementGroupArn"))
5943
5984
 
5944
5985
  @placement_group_arn.setter
@@ -6875,16 +6916,16 @@ class CfnCapacityReservationProps:
6875
6916
  '''Properties for defining a ``CfnCapacityReservation``.
6876
6917
 
6877
6918
  :param availability_zone: The Availability Zone in which to create the Capacity Reservation.
6878
- :param instance_count: The number of instances for which to reserve capacity. Valid range: 1 - 1000
6919
+ :param instance_count: The number of instances for which to reserve capacity. .. epigraph:: You can request future-dated Capacity Reservations for an instance count with a minimum of 100 VPUs. For example, if you request a future-dated Capacity Reservation for ``m5.xlarge`` instances, you must request at least 25 instances ( *25 * m5.xlarge = 100 vCPUs* ). Valid range: 1 - 1000
6879
6920
  :param instance_platform: The type of operating system for which to reserve capacity.
6880
- :param instance_type: The instance type for which to reserve capacity. For more information, see `Instance types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html>`_ in the *Amazon EC2 User Guide* .
6921
+ :param instance_type: The instance type for which to reserve capacity. .. epigraph:: You can request future-dated Capacity Reservations for instance types in the C, M, R, I, and T instance families only. For more information, see `Instance types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html>`_ in the *Amazon EC2 User Guide* .
6881
6922
  :param ebs_optimized: Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS- optimized instance.
6882
- :param end_date: The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to ``expired`` when it reaches its end date and time. You must provide an ``EndDate`` value if ``EndDateType`` is ``limited`` . Omit ``EndDate`` if ``EndDateType`` is ``unlimited`` . If the ``EndDateType`` is ``limited`` , the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.
6923
+ :param end_date: The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to ``expired`` when it reaches its end date and time. You must provide an ``EndDate`` value if ``EndDateType`` is ``limited`` . Omit ``EndDate`` if ``EndDateType`` is ``unlimited`` . If the ``EndDateType`` is ``limited`` , the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019. If you are requesting a future-dated Capacity Reservation, you can't specify an end date and time that is within the commitment duration.
6883
6924
  :param end_date_type: Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types: - ``unlimited`` - The Capacity Reservation remains active until you explicitly cancel it. Do not provide an ``EndDate`` if the ``EndDateType`` is ``unlimited`` . - ``limited`` - The Capacity Reservation expires automatically at a specified date and time. You must provide an ``EndDate`` value if the ``EndDateType`` value is ``limited`` .
6884
6925
  :param ephemeral_storage: *Deprecated.*.
6885
- :param instance_match_criteria: Indicates the type of instance launches that the Capacity Reservation accepts. The options include:. - ``open`` - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying any additional parameters. - ``targeted`` - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity. Default: ``open``
6886
- :param out_post_arn: The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.
6887
- :param placement_group_arn: The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. For more information, see `Capacity Reservations for cluster placement groups <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html>`_ in the *Amazon EC2 User Guide* .
6926
+ :param instance_match_criteria: Indicates the type of instance launches that the Capacity Reservation accepts. The options include:. - ``open`` - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying any additional parameters. - ``targeted`` - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity. .. epigraph:: If you are requesting a future-dated Capacity Reservation, you must specify ``targeted`` . Default: ``open``
6927
+ :param out_post_arn: .. epigraph:: Not supported for future-dated Capacity Reservations. The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.
6928
+ :param placement_group_arn: .. epigraph:: Not supported for future-dated Capacity Reservations. The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. For more information, see `Capacity Reservations for cluster placement groups <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html>`_ in the *Amazon EC2 User Guide* .
6888
6929
  :param tag_specifications: The tags to apply to the Capacity Reservation during launch.
6889
6930
  :param tenancy: Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:. - ``default`` - The Capacity Reservation is created on hardware that is shared with other AWS accounts . - ``dedicated`` - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account .
6890
6931
  :param unused_reservation_billing_owner_id: The ID of the AWS account to which to assign billing of the unused capacity of the Capacity Reservation. A request will be sent to the specified account. That account must accept the request for the billing to be assigned to their account. For more information, see `Billing assignment for shared Amazon EC2 Capacity Reservations <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/assign-billing.html>`_ . You can assign billing only for shared Capacity Reservations. To share a Capacity Reservation, you must add it to a resource share. For more information, see `AWS::RAM::ResourceShare <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html>`_ .
@@ -6980,6 +7021,10 @@ class CfnCapacityReservationProps:
6980
7021
  def instance_count(self) -> jsii.Number:
6981
7022
  '''The number of instances for which to reserve capacity.
6982
7023
 
7024
+ .. epigraph::
7025
+
7026
+ You can request future-dated Capacity Reservations for an instance count with a minimum of 100 VPUs. For example, if you request a future-dated Capacity Reservation for ``m5.xlarge`` instances, you must request at least 25 instances ( *25 * m5.xlarge = 100 vCPUs* ).
7027
+
6983
7028
  Valid range: 1 - 1000
6984
7029
 
6985
7030
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instancecount
@@ -7002,6 +7047,10 @@ class CfnCapacityReservationProps:
7002
7047
  def instance_type(self) -> builtins.str:
7003
7048
  '''The instance type for which to reserve capacity.
7004
7049
 
7050
+ .. epigraph::
7051
+
7052
+ You can request future-dated Capacity Reservations for instance types in the C, M, R, I, and T instance families only.
7053
+
7005
7054
  For more information, see `Instance types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html>`_ in the *Amazon EC2 User Guide* .
7006
7055
 
7007
7056
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instancetype
@@ -7033,6 +7082,8 @@ class CfnCapacityReservationProps:
7033
7082
 
7034
7083
  If the ``EndDateType`` is ``limited`` , the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.
7035
7084
 
7085
+ If you are requesting a future-dated Capacity Reservation, you can't specify an end date and time that is within the commitment duration.
7086
+
7036
7087
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-enddate
7037
7088
  '''
7038
7089
  result = self._values.get("end_date")
@@ -7070,6 +7121,10 @@ class CfnCapacityReservationProps:
7070
7121
  - ``open`` - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying any additional parameters.
7071
7122
  - ``targeted`` - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity.
7072
7123
 
7124
+ .. epigraph::
7125
+
7126
+ If you are requesting a future-dated Capacity Reservation, you must specify ``targeted`` .
7127
+
7073
7128
  Default: ``open``
7074
7129
 
7075
7130
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instancematchcriteria
@@ -7079,7 +7134,11 @@ class CfnCapacityReservationProps:
7079
7134
 
7080
7135
  @builtins.property
7081
7136
  def out_post_arn(self) -> typing.Optional[builtins.str]:
7082
- '''The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.
7137
+ '''.. epigraph::
7138
+
7139
+ Not supported for future-dated Capacity Reservations.
7140
+
7141
+ The Amazon Resource Name (ARN) of the Outpost on which to create the Capacity Reservation.
7083
7142
 
7084
7143
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-outpostarn
7085
7144
  '''
@@ -7088,9 +7147,11 @@ class CfnCapacityReservationProps:
7088
7147
 
7089
7148
  @builtins.property
7090
7149
  def placement_group_arn(self) -> typing.Optional[builtins.str]:
7091
- '''The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation.
7150
+ '''.. epigraph::
7092
7151
 
7093
- For more information, see `Capacity Reservations for cluster placement groups <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html>`_ in the *Amazon EC2 User Guide* .
7152
+ Not supported for future-dated Capacity Reservations.
7153
+
7154
+ The Amazon Resource Name (ARN) of the cluster placement group in which to create the Capacity Reservation. For more information, see `Capacity Reservations for cluster placement groups <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cr-cpg.html>`_ in the *Amazon EC2 User Guide* .
7094
7155
 
7095
7156
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-placementgrouparn
7096
7157
  '''
@@ -11847,7 +11908,7 @@ class CfnEC2Fleet(
11847
11908
  :param bare_metal: Indicates whether bare metal instance types must be included, excluded, or required. - To include bare metal instance types, specify ``included`` . - To require only bare metal instance types, specify ``required`` . - To exclude bare metal instance types, specify ``excluded`` . Default: ``excluded``
11848
11909
  :param baseline_ebs_bandwidth_mbps: The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see `Amazon EBS–optimized instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html>`_ in the *Amazon EC2 User Guide* . Default: No minimum or maximum limits
11849
11910
  :param burstable_performance: Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see `Burstable performance instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html>`_ . - To include burstable performance instance types, specify ``included`` . - To require only burstable performance instance types, specify ``required`` . - To exclude burstable performance instance types, specify ``excluded`` . Default: ``excluded``
11850
- :param cpu_manufacturers: The CPU manufacturers to include. - For instance types with Intel CPUs, specify ``intel`` . - For instance types with AMD CPUs, specify ``amd`` . - For instance types with AWS CPUs, specify ``amazon-web-services`` . .. epigraph:: Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. Default: Any manufacturer
11911
+ :param cpu_manufacturers: The CPU manufacturers to include. - For instance types with Intel CPUs, specify ``intel`` . - For instance types with AMD CPUs, specify ``amd`` . - For instance types with AWS CPUs, specify ``amazon-web-services`` . - For instance types with Apple CPUs, specify ``apple`` . .. epigraph:: Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. Default: Any manufacturer
11851
11912
  :param excluded_instance_types: The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk ( ``*`` ), to exclude an instance family, type, size, or generation. The following are examples: ``m5.8xlarge`` , ``c5*.*`` , ``m5a.*`` , ``r*`` , ``*3*`` . For example, if you specify ``c5*`` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*`` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types. .. epigraph:: If you specify ``ExcludedInstanceTypes`` , you can't specify ``AllowedInstanceTypes`` . Default: No excluded instance types
11852
11913
  :param instance_generations: Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see `Instance types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html>`_ in the *Amazon EC2 User Guide* . For current generation instance types, specify ``current`` . For previous generation instance types, specify ``previous`` . Default: Current and previous generation instance types
11853
11914
  :param local_storage: Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, `Amazon EC2 instance store <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html>`_ in the *Amazon EC2 User Guide* . - To include instance types with instance store volumes, specify ``included`` . - To require only instance types with instance store volumes, specify ``required`` . - To exclude instance types with instance store volumes, specify ``excluded`` . Default: ``included``
@@ -12161,6 +12222,7 @@ class CfnEC2Fleet(
12161
12222
  - For instance types with Intel CPUs, specify ``intel`` .
12162
12223
  - For instance types with AMD CPUs, specify ``amd`` .
12163
12224
  - For instance types with AWS CPUs, specify ``amazon-web-services`` .
12225
+ - For instance types with Apple CPUs, specify ``apple`` .
12164
12226
 
12165
12227
  .. epigraph::
12166
12228
 
@@ -24497,6 +24559,71 @@ class CfnLaunchTemplate(
24497
24559
  k + "=" + repr(v) for k, v in self._values.items()
24498
24560
  )
24499
24561
 
24562
+ @jsii.data_type(
24563
+ jsii_type="aws-cdk-lib.aws_ec2.CfnLaunchTemplate.BaselinePerformanceFactorsProperty",
24564
+ jsii_struct_bases=[],
24565
+ name_mapping={"cpu": "cpu"},
24566
+ )
24567
+ class BaselinePerformanceFactorsProperty:
24568
+ def __init__(
24569
+ self,
24570
+ *,
24571
+ cpu: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.CpuProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
24572
+ ) -> None:
24573
+ '''The baseline performance to consider, using an instance family as a baseline reference.
24574
+
24575
+ The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application.
24576
+
24577
+ Currently, this parameter only supports CPU performance as a baseline performance factor. For example, specifying ``c6i`` would use the CPU performance of the ``c6i`` family as the baseline reference.
24578
+
24579
+ :param cpu: The CPU performance to consider, using an instance family as the baseline reference.
24580
+
24581
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-baselineperformancefactors.html
24582
+ :exampleMetadata: fixture=_generated
24583
+
24584
+ Example::
24585
+
24586
+ # The code below shows an example of how to instantiate this type.
24587
+ # The values are placeholders you should change.
24588
+ from aws_cdk import aws_ec2 as ec2
24589
+
24590
+ baseline_performance_factors_property = ec2.CfnLaunchTemplate.BaselinePerformanceFactorsProperty(
24591
+ cpu=ec2.CfnLaunchTemplate.CpuProperty(
24592
+ references=[ec2.CfnLaunchTemplate.ReferenceProperty(
24593
+ instance_family="instanceFamily"
24594
+ )]
24595
+ )
24596
+ )
24597
+ '''
24598
+ if __debug__:
24599
+ type_hints = typing.get_type_hints(_typecheckingstub__c33b74edb68116a6eddebf7e0fccb8dfd65574d6a35c09a95580596c77d10c84)
24600
+ check_type(argname="argument cpu", value=cpu, expected_type=type_hints["cpu"])
24601
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
24602
+ if cpu is not None:
24603
+ self._values["cpu"] = cpu
24604
+
24605
+ @builtins.property
24606
+ def cpu(
24607
+ self,
24608
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.CpuProperty"]]:
24609
+ '''The CPU performance to consider, using an instance family as the baseline reference.
24610
+
24611
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-baselineperformancefactors.html#cfn-ec2-launchtemplate-baselineperformancefactors-cpu
24612
+ '''
24613
+ result = self._values.get("cpu")
24614
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.CpuProperty"]], result)
24615
+
24616
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
24617
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
24618
+
24619
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
24620
+ return not (rhs == self)
24621
+
24622
+ def __repr__(self) -> str:
24623
+ return "BaselinePerformanceFactorsProperty(%s)" % ", ".join(
24624
+ k + "=" + repr(v) for k, v in self._values.items()
24625
+ )
24626
+
24500
24627
  @jsii.data_type(
24501
24628
  jsii_type="aws-cdk-lib.aws_ec2.CfnLaunchTemplate.BlockDeviceMappingProperty",
24502
24629
  jsii_struct_bases=[],
@@ -24638,7 +24765,7 @@ class CfnLaunchTemplate(
24638
24765
 
24639
24766
  ``CapacityReservationSpecification`` is a property of `AWS::EC2::LaunchTemplate LaunchTemplateData <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html>`_ .
24640
24767
 
24641
- :param capacity_reservation_preference: Indicates the instance's Capacity Reservation preferences. Possible preferences include:. - ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). - ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.
24768
+ :param capacity_reservation_preference: Indicates the instance's Capacity Reservation preferences. Possible preferences include:. - ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch. - ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy). - ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.
24642
24769
  :param capacity_reservation_target: Information about the target Capacity Reservation or Capacity Reservation group.
24643
24770
 
24644
24771
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationspecification.html
@@ -24672,7 +24799,8 @@ class CfnLaunchTemplate(
24672
24799
  def capacity_reservation_preference(self) -> typing.Optional[builtins.str]:
24673
24800
  '''Indicates the instance's Capacity Reservation preferences. Possible preferences include:.
24674
24801
 
24675
- - ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
24802
+ - ``capacity-reservations-only`` - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.
24803
+ - ``open`` - The instance can run in any ``open`` Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).
24676
24804
  - ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.
24677
24805
 
24678
24806
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationspecification.html#cfn-ec2-launchtemplate-capacityreservationspecification-capacityreservationpreference
@@ -24973,6 +25101,66 @@ class CfnLaunchTemplate(
24973
25101
  k + "=" + repr(v) for k, v in self._values.items()
24974
25102
  )
24975
25103
 
25104
+ @jsii.data_type(
25105
+ jsii_type="aws-cdk-lib.aws_ec2.CfnLaunchTemplate.CpuProperty",
25106
+ jsii_struct_bases=[],
25107
+ name_mapping={"references": "references"},
25108
+ )
25109
+ class CpuProperty:
25110
+ def __init__(
25111
+ self,
25112
+ *,
25113
+ references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.ReferenceProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
25114
+ ) -> None:
25115
+ '''
25116
+ :param references: A list of references to be used as baseline for the CPU performance. Currently, you can only specify a single reference across different instance type variations such as CPU manufacturers, architectures etc.
25117
+
25118
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-cpu.html
25119
+ :exampleMetadata: fixture=_generated
25120
+
25121
+ Example::
25122
+
25123
+ # The code below shows an example of how to instantiate this type.
25124
+ # The values are placeholders you should change.
25125
+ from aws_cdk import aws_ec2 as ec2
25126
+
25127
+ cpu_property = ec2.CfnLaunchTemplate.CpuProperty(
25128
+ references=[ec2.CfnLaunchTemplate.ReferenceProperty(
25129
+ instance_family="instanceFamily"
25130
+ )]
25131
+ )
25132
+ '''
25133
+ if __debug__:
25134
+ type_hints = typing.get_type_hints(_typecheckingstub__a1b8ac2b677fdc40ae8230f2aa1d24dbec065cba8c4948e35f4a0dfd69c2e0bc)
25135
+ check_type(argname="argument references", value=references, expected_type=type_hints["references"])
25136
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
25137
+ if references is not None:
25138
+ self._values["references"] = references
25139
+
25140
+ @builtins.property
25141
+ def references(
25142
+ self,
25143
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.ReferenceProperty"]]]]:
25144
+ '''A list of references to be used as baseline for the CPU performance.
25145
+
25146
+ Currently, you can only specify a single reference across different instance type variations such as CPU manufacturers, architectures etc.
25147
+
25148
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-cpu.html#cfn-ec2-launchtemplate-cpu-references
25149
+ '''
25150
+ result = self._values.get("references")
25151
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.ReferenceProperty"]]]], result)
25152
+
25153
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
25154
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
25155
+
25156
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
25157
+ return not (rhs == self)
25158
+
25159
+ def __repr__(self) -> str:
25160
+ return "CpuProperty(%s)" % ", ".join(
25161
+ k + "=" + repr(v) for k, v in self._values.items()
25162
+ )
25163
+
24976
25164
  @jsii.data_type(
24977
25165
  jsii_type="aws-cdk-lib.aws_ec2.CfnLaunchTemplate.CreditSpecificationProperty",
24978
25166
  jsii_struct_bases=[],
@@ -25726,6 +25914,7 @@ class CfnLaunchTemplate(
25726
25914
  "allowed_instance_types": "allowedInstanceTypes",
25727
25915
  "bare_metal": "bareMetal",
25728
25916
  "baseline_ebs_bandwidth_mbps": "baselineEbsBandwidthMbps",
25917
+ "baseline_performance_factors": "baselinePerformanceFactors",
25729
25918
  "burstable_performance": "burstablePerformance",
25730
25919
  "cpu_manufacturers": "cpuManufacturers",
25731
25920
  "excluded_instance_types": "excludedInstanceTypes",
@@ -25756,6 +25945,7 @@ class CfnLaunchTemplate(
25756
25945
  allowed_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
25757
25946
  bare_metal: typing.Optional[builtins.str] = None,
25758
25947
  baseline_ebs_bandwidth_mbps: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.BaselineEbsBandwidthMbpsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
25948
+ baseline_performance_factors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.BaselinePerformanceFactorsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
25759
25949
  burstable_performance: typing.Optional[builtins.str] = None,
25760
25950
  cpu_manufacturers: typing.Optional[typing.Sequence[builtins.str]] = None,
25761
25951
  excluded_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -25802,8 +25992,9 @@ class CfnLaunchTemplate(
25802
25992
  :param allowed_instance_types: The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk ( ``*`` ), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge`` , ``c5*.*`` , ``m5a.*`` , ``r*`` , ``*3*`` . For example, if you specify ``c5*`` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*`` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types. .. epigraph:: If you specify ``AllowedInstanceTypes`` , you can't specify ``ExcludedInstanceTypes`` . Default: All instance types
25803
25993
  :param bare_metal: Indicates whether bare metal instance types must be included, excluded, or required. - To include bare metal instance types, specify ``included`` . - To require only bare metal instance types, specify ``required`` . - To exclude bare metal instance types, specify ``excluded`` . Default: ``excluded``
25804
25994
  :param baseline_ebs_bandwidth_mbps: The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see `Amazon EBS–optimized instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html>`_ in the *Amazon EC2 User Guide* . Default: No minimum or maximum limits
25995
+ :param baseline_performance_factors: The baseline performance to consider, using an instance family as a baseline reference. The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see `Performance protection <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection>`_ in the *Amazon EC2 User Guide* .
25805
25996
  :param burstable_performance: Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see `Burstable performance instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html>`_ . - To include burstable performance instance types, specify ``included`` . - To require only burstable performance instance types, specify ``required`` . - To exclude burstable performance instance types, specify ``excluded`` . Default: ``excluded``
25806
- :param cpu_manufacturers: The CPU manufacturers to include. - For instance types with Intel CPUs, specify ``intel`` . - For instance types with AMD CPUs, specify ``amd`` . - For instance types with AWS CPUs, specify ``amazon-web-services`` . .. epigraph:: Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. Default: Any manufacturer
25997
+ :param cpu_manufacturers: The CPU manufacturers to include. - For instance types with Intel CPUs, specify ``intel`` . - For instance types with AMD CPUs, specify ``amd`` . - For instance types with AWS CPUs, specify ``amazon-web-services`` . - For instance types with Apple CPUs, specify ``apple`` . .. epigraph:: Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. Default: Any manufacturer
25807
25998
  :param excluded_instance_types: The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk ( ``*`` ), to exclude an instance type, size, or generation. The following are examples: ``m5.8xlarge`` , ``c5*.*`` , ``m5a.*`` , ``r*`` , ``*3*`` . For example, if you specify ``c5*`` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*`` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types. .. epigraph:: If you specify ``ExcludedInstanceTypes`` , you can't specify ``AllowedInstanceTypes`` . Default: No excluded instance types
25808
25999
  :param instance_generations: Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see `Instance types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html>`_ in the *Amazon EC2 User Guide* . For current generation instance types, specify ``current`` . For previous generation instance types, specify ``previous`` . Default: Current and previous generation instance types
25809
26000
  :param local_storage: Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, `Amazon EC2 instance store <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html>`_ in the *Amazon EC2 User Guide* . - To include instance types with instance store volumes, specify ``included`` . - To require only instance types with instance store volumes, specify ``required`` . - To exclude instance types with instance store volumes, specify ``excluded`` . Default: ``included``
@@ -25846,6 +26037,13 @@ class CfnLaunchTemplate(
25846
26037
  max=123,
25847
26038
  min=123
25848
26039
  ),
26040
+ baseline_performance_factors=ec2.CfnLaunchTemplate.BaselinePerformanceFactorsProperty(
26041
+ cpu=ec2.CfnLaunchTemplate.CpuProperty(
26042
+ references=[ec2.CfnLaunchTemplate.ReferenceProperty(
26043
+ instance_family="instanceFamily"
26044
+ )]
26045
+ )
26046
+ ),
25849
26047
  burstable_performance="burstablePerformance",
25850
26048
  cpu_manufacturers=["cpuManufacturers"],
25851
26049
  excluded_instance_types=["excludedInstanceTypes"],
@@ -25892,6 +26090,7 @@ class CfnLaunchTemplate(
25892
26090
  check_type(argname="argument allowed_instance_types", value=allowed_instance_types, expected_type=type_hints["allowed_instance_types"])
25893
26091
  check_type(argname="argument bare_metal", value=bare_metal, expected_type=type_hints["bare_metal"])
25894
26092
  check_type(argname="argument baseline_ebs_bandwidth_mbps", value=baseline_ebs_bandwidth_mbps, expected_type=type_hints["baseline_ebs_bandwidth_mbps"])
26093
+ check_type(argname="argument baseline_performance_factors", value=baseline_performance_factors, expected_type=type_hints["baseline_performance_factors"])
25895
26094
  check_type(argname="argument burstable_performance", value=burstable_performance, expected_type=type_hints["burstable_performance"])
25896
26095
  check_type(argname="argument cpu_manufacturers", value=cpu_manufacturers, expected_type=type_hints["cpu_manufacturers"])
25897
26096
  check_type(argname="argument excluded_instance_types", value=excluded_instance_types, expected_type=type_hints["excluded_instance_types"])
@@ -25925,6 +26124,8 @@ class CfnLaunchTemplate(
25925
26124
  self._values["bare_metal"] = bare_metal
25926
26125
  if baseline_ebs_bandwidth_mbps is not None:
25927
26126
  self._values["baseline_ebs_bandwidth_mbps"] = baseline_ebs_bandwidth_mbps
26127
+ if baseline_performance_factors is not None:
26128
+ self._values["baseline_performance_factors"] = baseline_performance_factors
25928
26129
  if burstable_performance is not None:
25929
26130
  self._values["burstable_performance"] = burstable_performance
25930
26131
  if cpu_manufacturers is not None:
@@ -26093,6 +26294,19 @@ class CfnLaunchTemplate(
26093
26294
  result = self._values.get("baseline_ebs_bandwidth_mbps")
26094
26295
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.BaselineEbsBandwidthMbpsProperty"]], result)
26095
26296
 
26297
+ @builtins.property
26298
+ def baseline_performance_factors(
26299
+ self,
26300
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.BaselinePerformanceFactorsProperty"]]:
26301
+ '''The baseline performance to consider, using an instance family as a baseline reference.
26302
+
26303
+ The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this baseline to guide instance type selection, but there is no guarantee that the selected instance types will always exceed the baseline for every application. Currently, this parameter only supports CPU performance as a baseline performance factor. For more information, see `Performance protection <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection>`_ in the *Amazon EC2 User Guide* .
26304
+
26305
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-baselineperformancefactors
26306
+ '''
26307
+ result = self._values.get("baseline_performance_factors")
26308
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.BaselinePerformanceFactorsProperty"]], result)
26309
+
26096
26310
  @builtins.property
26097
26311
  def burstable_performance(self) -> typing.Optional[builtins.str]:
26098
26312
  '''Indicates whether burstable performance T instance types are included, excluded, or required.
@@ -26117,6 +26331,7 @@ class CfnLaunchTemplate(
26117
26331
  - For instance types with Intel CPUs, specify ``intel`` .
26118
26332
  - For instance types with AMD CPUs, specify ``amd`` .
26119
26333
  - For instance types with AWS CPUs, specify ``amazon-web-services`` .
26334
+ - For instance types with Apple CPUs, specify ``apple`` .
26120
26335
 
26121
26336
  .. epigraph::
26122
26337
 
@@ -26739,6 +26954,13 @@ class CfnLaunchTemplate(
26739
26954
  max=123,
26740
26955
  min=123
26741
26956
  ),
26957
+ baseline_performance_factors=ec2.CfnLaunchTemplate.BaselinePerformanceFactorsProperty(
26958
+ cpu=ec2.CfnLaunchTemplate.CpuProperty(
26959
+ references=[ec2.CfnLaunchTemplate.ReferenceProperty(
26960
+ instance_family="instanceFamily"
26961
+ )]
26962
+ )
26963
+ ),
26742
26964
  burstable_performance="burstablePerformance",
26743
26965
  cpu_manufacturers=["cpuManufacturers"],
26744
26966
  excluded_instance_types=["excludedInstanceTypes"],
@@ -28994,6 +29216,62 @@ class CfnLaunchTemplate(
28994
29216
  k + "=" + repr(v) for k, v in self._values.items()
28995
29217
  )
28996
29218
 
29219
+ @jsii.data_type(
29220
+ jsii_type="aws-cdk-lib.aws_ec2.CfnLaunchTemplate.ReferenceProperty",
29221
+ jsii_struct_bases=[],
29222
+ name_mapping={"instance_family": "instanceFamily"},
29223
+ )
29224
+ class ReferenceProperty:
29225
+ def __init__(
29226
+ self,
29227
+ *,
29228
+ instance_family: typing.Optional[builtins.str] = None,
29229
+ ) -> None:
29230
+ '''
29231
+ :param instance_family: The instance family to refer. Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
29232
+
29233
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-reference.html
29234
+ :exampleMetadata: fixture=_generated
29235
+
29236
+ Example::
29237
+
29238
+ # The code below shows an example of how to instantiate this type.
29239
+ # The values are placeholders you should change.
29240
+ from aws_cdk import aws_ec2 as ec2
29241
+
29242
+ reference_property = ec2.CfnLaunchTemplate.ReferenceProperty(
29243
+ instance_family="instanceFamily"
29244
+ )
29245
+ '''
29246
+ if __debug__:
29247
+ type_hints = typing.get_type_hints(_typecheckingstub__33d11f174a8d44a60a690675edd2b1264f7b20538793de8a376d9b1c836c5984)
29248
+ check_type(argname="argument instance_family", value=instance_family, expected_type=type_hints["instance_family"])
29249
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
29250
+ if instance_family is not None:
29251
+ self._values["instance_family"] = instance_family
29252
+
29253
+ @builtins.property
29254
+ def instance_family(self) -> typing.Optional[builtins.str]:
29255
+ '''The instance family to refer.
29256
+
29257
+ Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
29258
+
29259
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-reference.html#cfn-ec2-launchtemplate-reference-instancefamily
29260
+ '''
29261
+ result = self._values.get("instance_family")
29262
+ return typing.cast(typing.Optional[builtins.str], result)
29263
+
29264
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
29265
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
29266
+
29267
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
29268
+ return not (rhs == self)
29269
+
29270
+ def __repr__(self) -> str:
29271
+ return "ReferenceProperty(%s)" % ", ".join(
29272
+ k + "=" + repr(v) for k, v in self._values.items()
29273
+ )
29274
+
28997
29275
  @jsii.data_type(
28998
29276
  jsii_type="aws-cdk-lib.aws_ec2.CfnLaunchTemplate.SpotOptionsProperty",
28999
29277
  jsii_struct_bases=[],
@@ -44864,7 +45142,7 @@ class CfnSpotFleet(
44864
45142
  :param bare_metal: Indicates whether bare metal instance types must be included, excluded, or required. - To include bare metal instance types, specify ``included`` . - To require only bare metal instance types, specify ``required`` . - To exclude bare metal instance types, specify ``excluded`` . Default: ``excluded``
44865
45143
  :param baseline_ebs_bandwidth_mbps: The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see `Amazon EBS–optimized instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html>`_ in the *Amazon EC2 User Guide* . Default: No minimum or maximum limits
44866
45144
  :param burstable_performance: Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see `Burstable performance instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html>`_ . - To include burstable performance instance types, specify ``included`` . - To require only burstable performance instance types, specify ``required`` . - To exclude burstable performance instance types, specify ``excluded`` . Default: ``excluded``
44867
- :param cpu_manufacturers: The CPU manufacturers to include. - For instance types with Intel CPUs, specify ``intel`` . - For instance types with AMD CPUs, specify ``amd`` . - For instance types with AWS CPUs, specify ``amazon-web-services`` . .. epigraph:: Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. Default: Any manufacturer
45145
+ :param cpu_manufacturers: The CPU manufacturers to include. - For instance types with Intel CPUs, specify ``intel`` . - For instance types with AMD CPUs, specify ``amd`` . - For instance types with AWS CPUs, specify ``amazon-web-services`` . - For instance types with Apple CPUs, specify ``apple`` . .. epigraph:: Don't confuse the CPU manufacturer with the CPU architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. Default: Any manufacturer
44868
45146
  :param excluded_instance_types: The instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk ( ``*`` ), to exclude an instance family, type, size, or generation. The following are examples: ``m5.8xlarge`` , ``c5*.*`` , ``m5a.*`` , ``r*`` , ``*3*`` . For example, if you specify ``c5*`` ,Amazon EC2 will exclude the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*`` , Amazon EC2 will exclude all the M5a instance types, but not the M5n instance types. .. epigraph:: If you specify ``ExcludedInstanceTypes`` , you can't specify ``AllowedInstanceTypes`` . Default: No excluded instance types
44869
45147
  :param instance_generations: Indicates whether current or previous generation instance types are included. The current generation instance types are recommended for use. Current generation instance types are typically the latest two to three generations in each instance family. For more information, see `Instance types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html>`_ in the *Amazon EC2 User Guide* . For current generation instance types, specify ``current`` . For previous generation instance types, specify ``previous`` . Default: Current and previous generation instance types
44870
45148
  :param local_storage: Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, `Amazon EC2 instance store <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html>`_ in the *Amazon EC2 User Guide* . - To include instance types with instance store volumes, specify ``included`` . - To require only instance types with instance store volumes, specify ``required`` . - To exclude instance types with instance store volumes, specify ``excluded`` . Default: ``included``
@@ -45178,6 +45456,7 @@ class CfnSpotFleet(
45178
45456
  - For instance types with Intel CPUs, specify ``intel`` .
45179
45457
  - For instance types with AMD CPUs, specify ``amd`` .
45180
45458
  - For instance types with AWS CPUs, specify ``amazon-web-services`` .
45459
+ - For instance types with Apple CPUs, specify ``apple`` .
45181
45460
 
45182
45461
  .. epigraph::
45183
45462
 
@@ -56264,6 +56543,455 @@ class CfnVPC(
56264
56543
  jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
56265
56544
 
56266
56545
 
56546
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
56547
+ class CfnVPCBlockPublicAccessExclusion(
56548
+ _CfnResource_9df397a6,
56549
+ metaclass=jsii.JSIIMeta,
56550
+ jsii_type="aws-cdk-lib.aws_ec2.CfnVPCBlockPublicAccessExclusion",
56551
+ ):
56552
+ '''Create a VPC Block Public Access (BPA) exclusion.
56553
+
56554
+ A VPC BPA exclusion is a mode that can be applied to a single VPC or subnet that exempts it from the account’s BPA mode and will allow bidirectional or egress-only access. You can create BPA exclusions for VPCs and subnets even when BPA is not enabled on the account to ensure that there is no traffic disruption to the exclusions when VPC BPA is turned on. To learn more about VPC BPA, see `Block public access to VPCs and subnets <https://docs.aws.amazon.com/vpc/latest/userguide/security-vpc-bpa.html>`_ in the *Amazon VPC User Guide* .
56555
+
56556
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html
56557
+ :cloudformationResource: AWS::EC2::VPCBlockPublicAccessExclusion
56558
+ :exampleMetadata: fixture=_generated
56559
+
56560
+ Example::
56561
+
56562
+ # The code below shows an example of how to instantiate this type.
56563
+ # The values are placeholders you should change.
56564
+ from aws_cdk import aws_ec2 as ec2
56565
+
56566
+ cfn_vPCBlock_public_access_exclusion = ec2.CfnVPCBlockPublicAccessExclusion(self, "MyCfnVPCBlockPublicAccessExclusion",
56567
+ internet_gateway_exclusion_mode="internetGatewayExclusionMode",
56568
+
56569
+ # the properties below are optional
56570
+ subnet_id="subnetId",
56571
+ tags=[CfnTag(
56572
+ key="key",
56573
+ value="value"
56574
+ )],
56575
+ vpc_id="vpcId"
56576
+ )
56577
+ '''
56578
+
56579
+ def __init__(
56580
+ self,
56581
+ scope: _constructs_77d1e7e8.Construct,
56582
+ id: builtins.str,
56583
+ *,
56584
+ internet_gateway_exclusion_mode: builtins.str,
56585
+ subnet_id: typing.Optional[builtins.str] = None,
56586
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
56587
+ vpc_id: typing.Optional[builtins.str] = None,
56588
+ ) -> None:
56589
+ '''
56590
+ :param scope: Scope in which this resource is defined.
56591
+ :param id: Construct identifier for this resource (unique in its scope).
56592
+ :param internet_gateway_exclusion_mode: The desired VPC Block Public Access mode for a specific VPC or subnet exclusion. - ``allow-bidirectional`` : Allow all internet traffic to and from the excluded VPCs and subnets. - ``allow-egress`` : Allow outbound internet traffic from the excluded VPCs and subnets. Block inbound internet traffic to the excluded VPCs and subnets. Only applies when VPC Block Public Access is set to ``block-bidirectional`` .
56593
+ :param subnet_id: The ID of the subnet you want to exclude. Required only if you don't specify VpcId.
56594
+ :param tags: An array of key-value pairs to apply to this resource.
56595
+ :param vpc_id: The ID of the VPC you want to exclude. Required only if you don't specify SubnetId.
56596
+ '''
56597
+ if __debug__:
56598
+ type_hints = typing.get_type_hints(_typecheckingstub__25326e9b68ca765acd9653308fa5b739c5caacf8774e9af4f184caeb59c1f9bd)
56599
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
56600
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
56601
+ props = CfnVPCBlockPublicAccessExclusionProps(
56602
+ internet_gateway_exclusion_mode=internet_gateway_exclusion_mode,
56603
+ subnet_id=subnet_id,
56604
+ tags=tags,
56605
+ vpc_id=vpc_id,
56606
+ )
56607
+
56608
+ jsii.create(self.__class__, self, [scope, id, props])
56609
+
56610
+ @jsii.member(jsii_name="inspect")
56611
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
56612
+ '''Examines the CloudFormation resource and discloses attributes.
56613
+
56614
+ :param inspector: tree inspector to collect and process attributes.
56615
+ '''
56616
+ if __debug__:
56617
+ type_hints = typing.get_type_hints(_typecheckingstub__fff41514dea5c99d2838630dc273006f56cd390a04c0560987153d17d393a471)
56618
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
56619
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
56620
+
56621
+ @jsii.member(jsii_name="renderProperties")
56622
+ def _render_properties(
56623
+ self,
56624
+ props: typing.Mapping[builtins.str, typing.Any],
56625
+ ) -> typing.Mapping[builtins.str, typing.Any]:
56626
+ '''
56627
+ :param props: -
56628
+ '''
56629
+ if __debug__:
56630
+ type_hints = typing.get_type_hints(_typecheckingstub__0a9c62992443912b497679935e884da9ceaf569a34e270127ba4c4bbcd9178de)
56631
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
56632
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
56633
+
56634
+ @jsii.python.classproperty
56635
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
56636
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
56637
+ '''The CloudFormation resource type name for this resource class.'''
56638
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
56639
+
56640
+ @builtins.property
56641
+ @jsii.member(jsii_name="attrExclusionId")
56642
+ def attr_exclusion_id(self) -> builtins.str:
56643
+ '''The ID of the exclusion.
56644
+
56645
+ :cloudformationAttribute: ExclusionId
56646
+ '''
56647
+ return typing.cast(builtins.str, jsii.get(self, "attrExclusionId"))
56648
+
56649
+ @builtins.property
56650
+ @jsii.member(jsii_name="cdkTagManager")
56651
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
56652
+ '''Tag Manager which manages the tags for this resource.'''
56653
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
56654
+
56655
+ @builtins.property
56656
+ @jsii.member(jsii_name="cfnProperties")
56657
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
56658
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
56659
+
56660
+ @builtins.property
56661
+ @jsii.member(jsii_name="internetGatewayExclusionMode")
56662
+ def internet_gateway_exclusion_mode(self) -> builtins.str:
56663
+ '''The desired VPC Block Public Access mode for a specific VPC or subnet exclusion.'''
56664
+ return typing.cast(builtins.str, jsii.get(self, "internetGatewayExclusionMode"))
56665
+
56666
+ @internet_gateway_exclusion_mode.setter
56667
+ def internet_gateway_exclusion_mode(self, value: builtins.str) -> None:
56668
+ if __debug__:
56669
+ type_hints = typing.get_type_hints(_typecheckingstub__7a7de616ba221ee0cc286b4d6be980082aff80195ef12a4cc1470e8f39f50d90)
56670
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
56671
+ jsii.set(self, "internetGatewayExclusionMode", value) # pyright: ignore[reportArgumentType]
56672
+
56673
+ @builtins.property
56674
+ @jsii.member(jsii_name="subnetId")
56675
+ def subnet_id(self) -> typing.Optional[builtins.str]:
56676
+ '''The ID of the subnet you want to exclude.'''
56677
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "subnetId"))
56678
+
56679
+ @subnet_id.setter
56680
+ def subnet_id(self, value: typing.Optional[builtins.str]) -> None:
56681
+ if __debug__:
56682
+ type_hints = typing.get_type_hints(_typecheckingstub__ee41b552e6a5c9ed1c595a0ca9e2a44e6b4767d4d5f9f93bcc6089a2b8a9078d)
56683
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
56684
+ jsii.set(self, "subnetId", value) # pyright: ignore[reportArgumentType]
56685
+
56686
+ @builtins.property
56687
+ @jsii.member(jsii_name="tags")
56688
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
56689
+ '''An array of key-value pairs to apply to this resource.'''
56690
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
56691
+
56692
+ @tags.setter
56693
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
56694
+ if __debug__:
56695
+ type_hints = typing.get_type_hints(_typecheckingstub__1e07d614ce4f71c54dd33e378d7a6513c022cab55e36d27577fcd12c2d88dace)
56696
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
56697
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
56698
+
56699
+ @builtins.property
56700
+ @jsii.member(jsii_name="vpcId")
56701
+ def vpc_id(self) -> typing.Optional[builtins.str]:
56702
+ '''The ID of the VPC you want to exclude.'''
56703
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "vpcId"))
56704
+
56705
+ @vpc_id.setter
56706
+ def vpc_id(self, value: typing.Optional[builtins.str]) -> None:
56707
+ if __debug__:
56708
+ type_hints = typing.get_type_hints(_typecheckingstub__0d9ce2b681d384d7bfea8d60491ec27ef69d99c5c9c7ef34d19d78cb31d952de)
56709
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
56710
+ jsii.set(self, "vpcId", value) # pyright: ignore[reportArgumentType]
56711
+
56712
+
56713
+ @jsii.data_type(
56714
+ jsii_type="aws-cdk-lib.aws_ec2.CfnVPCBlockPublicAccessExclusionProps",
56715
+ jsii_struct_bases=[],
56716
+ name_mapping={
56717
+ "internet_gateway_exclusion_mode": "internetGatewayExclusionMode",
56718
+ "subnet_id": "subnetId",
56719
+ "tags": "tags",
56720
+ "vpc_id": "vpcId",
56721
+ },
56722
+ )
56723
+ class CfnVPCBlockPublicAccessExclusionProps:
56724
+ def __init__(
56725
+ self,
56726
+ *,
56727
+ internet_gateway_exclusion_mode: builtins.str,
56728
+ subnet_id: typing.Optional[builtins.str] = None,
56729
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
56730
+ vpc_id: typing.Optional[builtins.str] = None,
56731
+ ) -> None:
56732
+ '''Properties for defining a ``CfnVPCBlockPublicAccessExclusion``.
56733
+
56734
+ :param internet_gateway_exclusion_mode: The desired VPC Block Public Access mode for a specific VPC or subnet exclusion. - ``allow-bidirectional`` : Allow all internet traffic to and from the excluded VPCs and subnets. - ``allow-egress`` : Allow outbound internet traffic from the excluded VPCs and subnets. Block inbound internet traffic to the excluded VPCs and subnets. Only applies when VPC Block Public Access is set to ``block-bidirectional`` .
56735
+ :param subnet_id: The ID of the subnet you want to exclude. Required only if you don't specify VpcId.
56736
+ :param tags: An array of key-value pairs to apply to this resource.
56737
+ :param vpc_id: The ID of the VPC you want to exclude. Required only if you don't specify SubnetId.
56738
+
56739
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html
56740
+ :exampleMetadata: fixture=_generated
56741
+
56742
+ Example::
56743
+
56744
+ # The code below shows an example of how to instantiate this type.
56745
+ # The values are placeholders you should change.
56746
+ from aws_cdk import aws_ec2 as ec2
56747
+
56748
+ cfn_vPCBlock_public_access_exclusion_props = ec2.CfnVPCBlockPublicAccessExclusionProps(
56749
+ internet_gateway_exclusion_mode="internetGatewayExclusionMode",
56750
+
56751
+ # the properties below are optional
56752
+ subnet_id="subnetId",
56753
+ tags=[CfnTag(
56754
+ key="key",
56755
+ value="value"
56756
+ )],
56757
+ vpc_id="vpcId"
56758
+ )
56759
+ '''
56760
+ if __debug__:
56761
+ type_hints = typing.get_type_hints(_typecheckingstub__7176b6dba6a7fdb73a24ee0d3bfe1ed69b7628c88f0232d07fb6339a4e6208ca)
56762
+ check_type(argname="argument internet_gateway_exclusion_mode", value=internet_gateway_exclusion_mode, expected_type=type_hints["internet_gateway_exclusion_mode"])
56763
+ check_type(argname="argument subnet_id", value=subnet_id, expected_type=type_hints["subnet_id"])
56764
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
56765
+ check_type(argname="argument vpc_id", value=vpc_id, expected_type=type_hints["vpc_id"])
56766
+ self._values: typing.Dict[builtins.str, typing.Any] = {
56767
+ "internet_gateway_exclusion_mode": internet_gateway_exclusion_mode,
56768
+ }
56769
+ if subnet_id is not None:
56770
+ self._values["subnet_id"] = subnet_id
56771
+ if tags is not None:
56772
+ self._values["tags"] = tags
56773
+ if vpc_id is not None:
56774
+ self._values["vpc_id"] = vpc_id
56775
+
56776
+ @builtins.property
56777
+ def internet_gateway_exclusion_mode(self) -> builtins.str:
56778
+ '''The desired VPC Block Public Access mode for a specific VPC or subnet exclusion.
56779
+
56780
+ - ``allow-bidirectional`` : Allow all internet traffic to and from the excluded VPCs and subnets.
56781
+ - ``allow-egress`` : Allow outbound internet traffic from the excluded VPCs and subnets. Block inbound internet traffic to the excluded VPCs and subnets. Only applies when VPC Block Public Access is set to ``block-bidirectional`` .
56782
+
56783
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html#cfn-ec2-vpcblockpublicaccessexclusion-internetgatewayexclusionmode
56784
+ '''
56785
+ result = self._values.get("internet_gateway_exclusion_mode")
56786
+ assert result is not None, "Required property 'internet_gateway_exclusion_mode' is missing"
56787
+ return typing.cast(builtins.str, result)
56788
+
56789
+ @builtins.property
56790
+ def subnet_id(self) -> typing.Optional[builtins.str]:
56791
+ '''The ID of the subnet you want to exclude.
56792
+
56793
+ Required only if you don't specify VpcId.
56794
+
56795
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html#cfn-ec2-vpcblockpublicaccessexclusion-subnetid
56796
+ '''
56797
+ result = self._values.get("subnet_id")
56798
+ return typing.cast(typing.Optional[builtins.str], result)
56799
+
56800
+ @builtins.property
56801
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
56802
+ '''An array of key-value pairs to apply to this resource.
56803
+
56804
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html#cfn-ec2-vpcblockpublicaccessexclusion-tags
56805
+ '''
56806
+ result = self._values.get("tags")
56807
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
56808
+
56809
+ @builtins.property
56810
+ def vpc_id(self) -> typing.Optional[builtins.str]:
56811
+ '''The ID of the VPC you want to exclude.
56812
+
56813
+ Required only if you don't specify SubnetId.
56814
+
56815
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html#cfn-ec2-vpcblockpublicaccessexclusion-vpcid
56816
+ '''
56817
+ result = self._values.get("vpc_id")
56818
+ return typing.cast(typing.Optional[builtins.str], result)
56819
+
56820
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
56821
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
56822
+
56823
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
56824
+ return not (rhs == self)
56825
+
56826
+ def __repr__(self) -> str:
56827
+ return "CfnVPCBlockPublicAccessExclusionProps(%s)" % ", ".join(
56828
+ k + "=" + repr(v) for k, v in self._values.items()
56829
+ )
56830
+
56831
+
56832
+ @jsii.implements(_IInspectable_c2943556)
56833
+ class CfnVPCBlockPublicAccessOptions(
56834
+ _CfnResource_9df397a6,
56835
+ metaclass=jsii.JSIIMeta,
56836
+ jsii_type="aws-cdk-lib.aws_ec2.CfnVPCBlockPublicAccessOptions",
56837
+ ):
56838
+ '''VPC Block Public Access (BPA) enables you to block resources in VPCs and subnets that you own in a Region from reaching or being reached from the internet through internet gateways and egress-only internet gateways.
56839
+
56840
+ To learn more about VPC BPA, see `Block public access to VPCs and subnets <https://docs.aws.amazon.com/vpc/latest/userguide/security-vpc-bpa.html>`_ in the *Amazon VPC User Guide* .
56841
+
56842
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessoptions.html
56843
+ :cloudformationResource: AWS::EC2::VPCBlockPublicAccessOptions
56844
+ :exampleMetadata: fixture=_generated
56845
+
56846
+ Example::
56847
+
56848
+ # The code below shows an example of how to instantiate this type.
56849
+ # The values are placeholders you should change.
56850
+ from aws_cdk import aws_ec2 as ec2
56851
+
56852
+ cfn_vPCBlock_public_access_options = ec2.CfnVPCBlockPublicAccessOptions(self, "MyCfnVPCBlockPublicAccessOptions",
56853
+ internet_gateway_block_mode="internetGatewayBlockMode"
56854
+ )
56855
+ '''
56856
+
56857
+ def __init__(
56858
+ self,
56859
+ scope: _constructs_77d1e7e8.Construct,
56860
+ id: builtins.str,
56861
+ *,
56862
+ internet_gateway_block_mode: builtins.str,
56863
+ ) -> None:
56864
+ '''
56865
+ :param scope: Scope in which this resource is defined.
56866
+ :param id: Construct identifier for this resource (unique in its scope).
56867
+ :param internet_gateway_block_mode: The desired VPC Block Public Access mode for internet gateways in your account. We do not allow you to create this resource type in an "off" mode since off is the default value. - ``block-bidirectional`` : Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets). - ``block-ingress`` : Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.
56868
+ '''
56869
+ if __debug__:
56870
+ type_hints = typing.get_type_hints(_typecheckingstub__24d31c53909b617dc4fc1905f3c6a7fb631c56e6a160f59064795a8c003a6ea4)
56871
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
56872
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
56873
+ props = CfnVPCBlockPublicAccessOptionsProps(
56874
+ internet_gateway_block_mode=internet_gateway_block_mode
56875
+ )
56876
+
56877
+ jsii.create(self.__class__, self, [scope, id, props])
56878
+
56879
+ @jsii.member(jsii_name="inspect")
56880
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
56881
+ '''Examines the CloudFormation resource and discloses attributes.
56882
+
56883
+ :param inspector: tree inspector to collect and process attributes.
56884
+ '''
56885
+ if __debug__:
56886
+ type_hints = typing.get_type_hints(_typecheckingstub__b41534ffeac2685e907615af2fe97bc820a22bad4e77064e661466f1d1387568)
56887
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
56888
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
56889
+
56890
+ @jsii.member(jsii_name="renderProperties")
56891
+ def _render_properties(
56892
+ self,
56893
+ props: typing.Mapping[builtins.str, typing.Any],
56894
+ ) -> typing.Mapping[builtins.str, typing.Any]:
56895
+ '''
56896
+ :param props: -
56897
+ '''
56898
+ if __debug__:
56899
+ type_hints = typing.get_type_hints(_typecheckingstub__a56a6f6280e3009a525eeedcead9009e2524e22d3375cc0e5d312a313f168131)
56900
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
56901
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
56902
+
56903
+ @jsii.python.classproperty
56904
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
56905
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
56906
+ '''The CloudFormation resource type name for this resource class.'''
56907
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
56908
+
56909
+ @builtins.property
56910
+ @jsii.member(jsii_name="attrAccountId")
56911
+ def attr_account_id(self) -> builtins.str:
56912
+ '''The ID of the AWS account.
56913
+
56914
+ :cloudformationAttribute: AccountId
56915
+ '''
56916
+ return typing.cast(builtins.str, jsii.get(self, "attrAccountId"))
56917
+
56918
+ @builtins.property
56919
+ @jsii.member(jsii_name="cfnProperties")
56920
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
56921
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
56922
+
56923
+ @builtins.property
56924
+ @jsii.member(jsii_name="internetGatewayBlockMode")
56925
+ def internet_gateway_block_mode(self) -> builtins.str:
56926
+ '''The desired VPC Block Public Access mode for internet gateways in your account.'''
56927
+ return typing.cast(builtins.str, jsii.get(self, "internetGatewayBlockMode"))
56928
+
56929
+ @internet_gateway_block_mode.setter
56930
+ def internet_gateway_block_mode(self, value: builtins.str) -> None:
56931
+ if __debug__:
56932
+ type_hints = typing.get_type_hints(_typecheckingstub__19f57f6719b674f2d0d3c2e221d43093e4d8ae38daa501a2066a6d3afaa98e11)
56933
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
56934
+ jsii.set(self, "internetGatewayBlockMode", value) # pyright: ignore[reportArgumentType]
56935
+
56936
+
56937
+ @jsii.data_type(
56938
+ jsii_type="aws-cdk-lib.aws_ec2.CfnVPCBlockPublicAccessOptionsProps",
56939
+ jsii_struct_bases=[],
56940
+ name_mapping={"internet_gateway_block_mode": "internetGatewayBlockMode"},
56941
+ )
56942
+ class CfnVPCBlockPublicAccessOptionsProps:
56943
+ def __init__(self, *, internet_gateway_block_mode: builtins.str) -> None:
56944
+ '''Properties for defining a ``CfnVPCBlockPublicAccessOptions``.
56945
+
56946
+ :param internet_gateway_block_mode: The desired VPC Block Public Access mode for internet gateways in your account. We do not allow you to create this resource type in an "off" mode since off is the default value. - ``block-bidirectional`` : Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets). - ``block-ingress`` : Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.
56947
+
56948
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessoptions.html
56949
+ :exampleMetadata: fixture=_generated
56950
+
56951
+ Example::
56952
+
56953
+ # The code below shows an example of how to instantiate this type.
56954
+ # The values are placeholders you should change.
56955
+ from aws_cdk import aws_ec2 as ec2
56956
+
56957
+ cfn_vPCBlock_public_access_options_props = ec2.CfnVPCBlockPublicAccessOptionsProps(
56958
+ internet_gateway_block_mode="internetGatewayBlockMode"
56959
+ )
56960
+ '''
56961
+ if __debug__:
56962
+ type_hints = typing.get_type_hints(_typecheckingstub__58b7bf3beb5810a9ddfb83687c509df267cea795013b7b418f07408b0357d7a7)
56963
+ check_type(argname="argument internet_gateway_block_mode", value=internet_gateway_block_mode, expected_type=type_hints["internet_gateway_block_mode"])
56964
+ self._values: typing.Dict[builtins.str, typing.Any] = {
56965
+ "internet_gateway_block_mode": internet_gateway_block_mode,
56966
+ }
56967
+
56968
+ @builtins.property
56969
+ def internet_gateway_block_mode(self) -> builtins.str:
56970
+ '''The desired VPC Block Public Access mode for internet gateways in your account.
56971
+
56972
+ We do not allow you to create this resource type in an "off" mode since off is the default value.
56973
+
56974
+ - ``block-bidirectional`` : Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).
56975
+ - ``block-ingress`` : Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.
56976
+
56977
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessoptions.html#cfn-ec2-vpcblockpublicaccessoptions-internetgatewayblockmode
56978
+ '''
56979
+ result = self._values.get("internet_gateway_block_mode")
56980
+ assert result is not None, "Required property 'internet_gateway_block_mode' is missing"
56981
+ return typing.cast(builtins.str, result)
56982
+
56983
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
56984
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
56985
+
56986
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
56987
+ return not (rhs == self)
56988
+
56989
+ def __repr__(self) -> str:
56990
+ return "CfnVPCBlockPublicAccessOptionsProps(%s)" % ", ".join(
56991
+ k + "=" + repr(v) for k, v in self._values.items()
56992
+ )
56993
+
56994
+
56267
56995
  @jsii.implements(_IInspectable_c2943556)
56268
56996
  class CfnVPCCidrBlock(
56269
56997
  _CfnResource_9df397a6,
@@ -74101,6 +74829,7 @@ class Instance(
74101
74829
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
74102
74830
  instance_initiated_shutdown_behavior: typing.Optional["InstanceInitiatedShutdownBehavior"] = None,
74103
74831
  instance_name: typing.Optional[builtins.str] = None,
74832
+ instance_profile: typing.Optional[_IInstanceProfile_10d5ce2c] = None,
74104
74833
  ipv6_address_count: typing.Optional[jsii.Number] = None,
74105
74834
  key_name: typing.Optional[builtins.str] = None,
74106
74835
  key_pair: typing.Optional[IKeyPair] = None,
@@ -74138,6 +74867,7 @@ class Instance(
74138
74867
  :param init_options: Use the given options for applying CloudFormation Init. Describes the configsets to use and the timeout to wait Default: - default options
74139
74868
  :param instance_initiated_shutdown_behavior: Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). Default: InstanceInitiatedShutdownBehavior.STOP
74140
74869
  :param instance_name: The name of the instance. Default: - CDK generated name
74870
+ :param instance_profile: The instance profile used to pass role information to EC2 instances. Note: You can provide an instanceProfile or a role, but not both. Default: - No instance profile
74141
74871
  :param ipv6_address_count: The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this property and ``associatePublicIpAddress`` at the same time. Default: - For instances associated with an IPv6 subnet, use 1; otherwise, use 0.
74142
74872
  :param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
74143
74873
  :param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
@@ -74146,7 +74876,7 @@ class Instance(
74146
74876
  :param propagate_tags_to_volume_on_creation: Propagate the EC2 instance tags to the EBS volumes. Default: - false
74147
74877
  :param require_imdsv2: Whether IMDSv2 should be required on this instance. Default: - false
74148
74878
  :param resource_signal_timeout: The length of time to wait for the resourceSignalCount. The maximum value is 43200 (12 hours). Default: Duration.minutes(5)
74149
- :param role: An IAM role to associate with the instance profile assigned to this Auto Scaling Group. The role must be assumable by the service principal ``ec2.amazonaws.com``: Default: - A role will automatically be created, it can be accessed via the ``role`` property
74879
+ :param role: An IAM role to associate with the instance profile assigned to this Auto Scaling Group. The role must be assumable by the service principal ``ec2.amazonaws.com``: Note: You can provide an instanceProfile or a role, but not both. Default: - A role will automatically be created, it can be accessed via the ``role`` property
74150
74880
  :param security_group: Security Group to assign to this instance. Default: - create new security group
74151
74881
  :param source_dest_check: Specifies whether to enable an instance launched in a VPC to perform NAT. This controls whether source/destination checking is enabled on the instance. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform NAT. Default: true
74152
74882
  :param ssm_session_permissions: Add SSM session permissions to the instance role. Setting this to ``true`` adds the necessary permissions to connect to the instance using SSM Session Manager. You can do this from the AWS Console. NOTE: Setting this flag to ``true`` may not be enough by itself. You must also use an AMI that comes with the SSM Agent, or install the SSM Agent yourself. See `Working with SSM Agent <https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html>`_ in the SSM Developer Guide. Default: false
@@ -74177,6 +74907,7 @@ class Instance(
74177
74907
  init_options=init_options,
74178
74908
  instance_initiated_shutdown_behavior=instance_initiated_shutdown_behavior,
74179
74909
  instance_name=instance_name,
74910
+ instance_profile=instance_profile,
74180
74911
  ipv6_address_count=ipv6_address_count,
74181
74912
  key_name=key_name,
74182
74913
  key_pair=key_pair,
@@ -74989,6 +75720,7 @@ class InstanceInitiatedShutdownBehavior(enum.Enum):
74989
75720
  "init_options": "initOptions",
74990
75721
  "instance_initiated_shutdown_behavior": "instanceInitiatedShutdownBehavior",
74991
75722
  "instance_name": "instanceName",
75723
+ "instance_profile": "instanceProfile",
74992
75724
  "ipv6_address_count": "ipv6AddressCount",
74993
75725
  "key_name": "keyName",
74994
75726
  "key_pair": "keyPair",
@@ -75028,6 +75760,7 @@ class InstanceProps:
75028
75760
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
75029
75761
  instance_initiated_shutdown_behavior: typing.Optional[InstanceInitiatedShutdownBehavior] = None,
75030
75762
  instance_name: typing.Optional[builtins.str] = None,
75763
+ instance_profile: typing.Optional[_IInstanceProfile_10d5ce2c] = None,
75031
75764
  ipv6_address_count: typing.Optional[jsii.Number] = None,
75032
75765
  key_name: typing.Optional[builtins.str] = None,
75033
75766
  key_pair: typing.Optional[IKeyPair] = None,
@@ -75064,6 +75797,7 @@ class InstanceProps:
75064
75797
  :param init_options: Use the given options for applying CloudFormation Init. Describes the configsets to use and the timeout to wait Default: - default options
75065
75798
  :param instance_initiated_shutdown_behavior: Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). Default: InstanceInitiatedShutdownBehavior.STOP
75066
75799
  :param instance_name: The name of the instance. Default: - CDK generated name
75800
+ :param instance_profile: The instance profile used to pass role information to EC2 instances. Note: You can provide an instanceProfile or a role, but not both. Default: - No instance profile
75067
75801
  :param ipv6_address_count: The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this property and ``associatePublicIpAddress`` at the same time. Default: - For instances associated with an IPv6 subnet, use 1; otherwise, use 0.
75068
75802
  :param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
75069
75803
  :param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
@@ -75072,7 +75806,7 @@ class InstanceProps:
75072
75806
  :param propagate_tags_to_volume_on_creation: Propagate the EC2 instance tags to the EBS volumes. Default: - false
75073
75807
  :param require_imdsv2: Whether IMDSv2 should be required on this instance. Default: - false
75074
75808
  :param resource_signal_timeout: The length of time to wait for the resourceSignalCount. The maximum value is 43200 (12 hours). Default: Duration.minutes(5)
75075
- :param role: An IAM role to associate with the instance profile assigned to this Auto Scaling Group. The role must be assumable by the service principal ``ec2.amazonaws.com``: Default: - A role will automatically be created, it can be accessed via the ``role`` property
75809
+ :param role: An IAM role to associate with the instance profile assigned to this Auto Scaling Group. The role must be assumable by the service principal ``ec2.amazonaws.com``: Note: You can provide an instanceProfile or a role, but not both. Default: - A role will automatically be created, it can be accessed via the ``role`` property
75076
75810
  :param security_group: Security Group to assign to this instance. Default: - create new security group
75077
75811
  :param source_dest_check: Specifies whether to enable an instance launched in a VPC to perform NAT. This controls whether source/destination checking is enabled on the instance. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform NAT. Default: true
75078
75812
  :param ssm_session_permissions: Add SSM session permissions to the instance role. Setting this to ``true`` adds the necessary permissions to connect to the instance using SSM Session Manager. You can do this from the AWS Console. NOTE: Setting this flag to ``true`` may not be enough by itself. You must also use an AMI that comes with the SSM Agent, or install the SSM Agent yourself. See `Working with SSM Agent <https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html>`_ in the SSM Developer Guide. Default: false
@@ -75123,6 +75857,7 @@ class InstanceProps:
75123
75857
  check_type(argname="argument init_options", value=init_options, expected_type=type_hints["init_options"])
75124
75858
  check_type(argname="argument instance_initiated_shutdown_behavior", value=instance_initiated_shutdown_behavior, expected_type=type_hints["instance_initiated_shutdown_behavior"])
75125
75859
  check_type(argname="argument instance_name", value=instance_name, expected_type=type_hints["instance_name"])
75860
+ check_type(argname="argument instance_profile", value=instance_profile, expected_type=type_hints["instance_profile"])
75126
75861
  check_type(argname="argument ipv6_address_count", value=ipv6_address_count, expected_type=type_hints["ipv6_address_count"])
75127
75862
  check_type(argname="argument key_name", value=key_name, expected_type=type_hints["key_name"])
75128
75863
  check_type(argname="argument key_pair", value=key_pair, expected_type=type_hints["key_pair"])
@@ -75173,6 +75908,8 @@ class InstanceProps:
75173
75908
  self._values["instance_initiated_shutdown_behavior"] = instance_initiated_shutdown_behavior
75174
75909
  if instance_name is not None:
75175
75910
  self._values["instance_name"] = instance_name
75911
+ if instance_profile is not None:
75912
+ self._values["instance_profile"] = instance_profile
75176
75913
  if ipv6_address_count is not None:
75177
75914
  self._values["ipv6_address_count"] = ipv6_address_count
75178
75915
  if key_name is not None:
@@ -75405,6 +76142,17 @@ class InstanceProps:
75405
76142
  result = self._values.get("instance_name")
75406
76143
  return typing.cast(typing.Optional[builtins.str], result)
75407
76144
 
76145
+ @builtins.property
76146
+ def instance_profile(self) -> typing.Optional[_IInstanceProfile_10d5ce2c]:
76147
+ '''The instance profile used to pass role information to EC2 instances.
76148
+
76149
+ Note: You can provide an instanceProfile or a role, but not both.
76150
+
76151
+ :default: - No instance profile
76152
+ '''
76153
+ result = self._values.get("instance_profile")
76154
+ return typing.cast(typing.Optional[_IInstanceProfile_10d5ce2c], result)
76155
+
75408
76156
  @builtins.property
75409
76157
  def ipv6_address_count(self) -> typing.Optional[jsii.Number]:
75410
76158
  '''The number of IPv6 addresses to associate with the primary network interface.
@@ -75494,6 +76242,7 @@ class InstanceProps:
75494
76242
  '''An IAM role to associate with the instance profile assigned to this Auto Scaling Group.
75495
76243
 
75496
76244
  The role must be assumable by the service principal ``ec2.amazonaws.com``:
76245
+ Note: You can provide an instanceProfile or a role, but not both.
75497
76246
 
75498
76247
  :default: - A role will automatically be created, it can be accessed via the ``role`` property
75499
76248
 
@@ -76160,6 +76909,16 @@ class InterfaceVpcEndpointAwsService(
76160
76909
  def APPLICATION_AUTOSCALING(cls) -> "InterfaceVpcEndpointAwsService":
76161
76910
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "APPLICATION_AUTOSCALING"))
76162
76911
 
76912
+ @jsii.python.classproperty
76913
+ @jsii.member(jsii_name="APPLICATION_DISCOVERY_ARSENAL")
76914
+ def APPLICATION_DISCOVERY_ARSENAL(cls) -> "InterfaceVpcEndpointAwsService":
76915
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "APPLICATION_DISCOVERY_ARSENAL"))
76916
+
76917
+ @jsii.python.classproperty
76918
+ @jsii.member(jsii_name="APPLICATION_DISCOVERY_SERVICE")
76919
+ def APPLICATION_DISCOVERY_SERVICE(cls) -> "InterfaceVpcEndpointAwsService":
76920
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "APPLICATION_DISCOVERY_SERVICE"))
76921
+
76163
76922
  @jsii.python.classproperty
76164
76923
  @jsii.member(jsii_name="APPLICATION_MIGRATION_SERVICE")
76165
76924
  def APPLICATION_MIGRATION_SERVICE(cls) -> "InterfaceVpcEndpointAwsService":
@@ -76390,6 +77149,11 @@ class InterfaceVpcEndpointAwsService(
76390
77149
  def CLOUDWATCH_SYNTHETICS(cls) -> "InterfaceVpcEndpointAwsService":
76391
77150
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CLOUDWATCH_SYNTHETICS"))
76392
77151
 
77152
+ @jsii.python.classproperty
77153
+ @jsii.member(jsii_name="CLOUDWATCH_SYNTHETICS_FIPS")
77154
+ def CLOUDWATCH_SYNTHETICS_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
77155
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CLOUDWATCH_SYNTHETICS_FIPS"))
77156
+
76393
77157
  @jsii.python.classproperty
76394
77158
  @jsii.member(jsii_name="CODE_CONNECTIONS")
76395
77159
  def CODE_CONNECTIONS(cls) -> "InterfaceVpcEndpointAwsService":
@@ -76815,6 +77579,11 @@ class InterfaceVpcEndpointAwsService(
76815
77579
  def GLUE(cls) -> "InterfaceVpcEndpointAwsService":
76816
77580
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "GLUE"))
76817
77581
 
77582
+ @jsii.python.classproperty
77583
+ @jsii.member(jsii_name="GLUE_DASHBOARD")
77584
+ def GLUE_DASHBOARD(cls) -> "InterfaceVpcEndpointAwsService":
77585
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "GLUE_DASHBOARD"))
77586
+
76818
77587
  @jsii.python.classproperty
76819
77588
  @jsii.member(jsii_name="GLUE_DATABREW")
76820
77589
  def GLUE_DATABREW(cls) -> "InterfaceVpcEndpointAwsService":
@@ -76905,6 +77674,11 @@ class InterfaceVpcEndpointAwsService(
76905
77674
  def INSPECTOR_SCAN(cls) -> "InterfaceVpcEndpointAwsService":
76906
77675
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "INSPECTOR_SCAN"))
76907
77676
 
77677
+ @jsii.python.classproperty
77678
+ @jsii.member(jsii_name="INVOICING")
77679
+ def INVOICING(cls) -> "InterfaceVpcEndpointAwsService":
77680
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "INVOICING"))
77681
+
76908
77682
  @jsii.python.classproperty
76909
77683
  @jsii.member(jsii_name="IOT_CORE")
76910
77684
  def IOT_CORE(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77162,11 +77936,26 @@ class InterfaceVpcEndpointAwsService(
77162
77936
  def MIGRATIONHUB_STRATEGY(cls) -> "InterfaceVpcEndpointAwsService":
77163
77937
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "MIGRATIONHUB_STRATEGY"))
77164
77938
 
77939
+ @jsii.python.classproperty
77940
+ @jsii.member(jsii_name="MQ")
77941
+ def MQ(cls) -> "InterfaceVpcEndpointAwsService":
77942
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "MQ"))
77943
+
77165
77944
  @jsii.python.classproperty
77166
77945
  @jsii.member(jsii_name="NEPTUNE_ANALYTICS")
77167
77946
  def NEPTUNE_ANALYTICS(cls) -> "InterfaceVpcEndpointAwsService":
77168
77947
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "NEPTUNE_ANALYTICS"))
77169
77948
 
77949
+ @jsii.python.classproperty
77950
+ @jsii.member(jsii_name="NEPTUNE_ANALYTICS_DATA")
77951
+ def NEPTUNE_ANALYTICS_DATA(cls) -> "InterfaceVpcEndpointAwsService":
77952
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "NEPTUNE_ANALYTICS_DATA"))
77953
+
77954
+ @jsii.python.classproperty
77955
+ @jsii.member(jsii_name="NEPTUNE_ANALYTICS_FIPS")
77956
+ def NEPTUNE_ANALYTICS_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
77957
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "NEPTUNE_ANALYTICS_FIPS"))
77958
+
77170
77959
  @jsii.python.classproperty
77171
77960
  @jsii.member(jsii_name="NETWORK_FIREWALL")
77172
77961
  def NETWORK_FIREWALL(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77307,6 +78096,11 @@ class InterfaceVpcEndpointAwsService(
77307
78096
  def PRICE_LIST(cls) -> "InterfaceVpcEndpointAwsService":
77308
78097
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PRICE_LIST"))
77309
78098
 
78099
+ @jsii.python.classproperty
78100
+ @jsii.member(jsii_name="PRICING_CALCULATOR")
78101
+ def PRICING_CALCULATOR(cls) -> "InterfaceVpcEndpointAwsService":
78102
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PRICING_CALCULATOR"))
78103
+
77310
78104
  @jsii.python.classproperty
77311
78105
  @jsii.member(jsii_name="PRIVATE_5G")
77312
78106
  def PRIVATE_5_G(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77466,6 +78260,16 @@ class InterfaceVpcEndpointAwsService(
77466
78260
  def RESOURCE_ACCESS_MANAGER(cls) -> "InterfaceVpcEndpointAwsService":
77467
78261
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "RESOURCE_ACCESS_MANAGER"))
77468
78262
 
78263
+ @jsii.python.classproperty
78264
+ @jsii.member(jsii_name="RESOURCE_GROUPS")
78265
+ def RESOURCE_GROUPS(cls) -> "InterfaceVpcEndpointAwsService":
78266
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "RESOURCE_GROUPS"))
78267
+
78268
+ @jsii.python.classproperty
78269
+ @jsii.member(jsii_name="RESOURCE_GROUPS_FIPS")
78270
+ def RESOURCE_GROUPS_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
78271
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "RESOURCE_GROUPS_FIPS"))
78272
+
77469
78273
  @jsii.python.classproperty
77470
78274
  @jsii.member(jsii_name="ROBOMAKER")
77471
78275
  def ROBOMAKER(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77486,11 +78290,21 @@ class InterfaceVpcEndpointAwsService(
77486
78290
  def S3_OUTPOSTS(cls) -> "InterfaceVpcEndpointAwsService":
77487
78291
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "S3_OUTPOSTS"))
77488
78292
 
78293
+ @jsii.python.classproperty
78294
+ @jsii.member(jsii_name="S3_TABLES")
78295
+ def S3_TABLES(cls) -> "InterfaceVpcEndpointAwsService":
78296
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "S3_TABLES"))
78297
+
77489
78298
  @jsii.python.classproperty
77490
78299
  @jsii.member(jsii_name="SAGEMAKER_API")
77491
78300
  def SAGEMAKER_API(cls) -> "InterfaceVpcEndpointAwsService":
77492
78301
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SAGEMAKER_API"))
77493
78302
 
78303
+ @jsii.python.classproperty
78304
+ @jsii.member(jsii_name="SAGEMAKER_DATA_SCIENCE_ASSISTANT")
78305
+ def SAGEMAKER_DATA_SCIENCE_ASSISTANT(cls) -> "InterfaceVpcEndpointAwsService":
78306
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SAGEMAKER_DATA_SCIENCE_ASSISTANT"))
78307
+
77494
78308
  @jsii.python.classproperty
77495
78309
  @jsii.member(jsii_name="SAGEMAKER_EXPERIMENTS")
77496
78310
  def SAGEMAKER_EXPERIMENTS(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77516,6 +78330,11 @@ class InterfaceVpcEndpointAwsService(
77516
78330
  def SAGEMAKER_NOTEBOOK(cls) -> "InterfaceVpcEndpointAwsService":
77517
78331
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SAGEMAKER_NOTEBOOK"))
77518
78332
 
78333
+ @jsii.python.classproperty
78334
+ @jsii.member(jsii_name="SAGEMAKER_PARTNER_APP")
78335
+ def SAGEMAKER_PARTNER_APP(cls) -> "InterfaceVpcEndpointAwsService":
78336
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SAGEMAKER_PARTNER_APP"))
78337
+
77519
78338
  @jsii.python.classproperty
77520
78339
  @jsii.member(jsii_name="SAGEMAKER_RUNTIME")
77521
78340
  def SAGEMAKER_RUNTIME(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77531,6 +78350,11 @@ class InterfaceVpcEndpointAwsService(
77531
78350
  def SAGEMAKER_STUDIO(cls) -> "InterfaceVpcEndpointAwsService":
77532
78351
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SAGEMAKER_STUDIO"))
77533
78352
 
78353
+ @jsii.python.classproperty
78354
+ @jsii.member(jsii_name="SAVINGS_PLANS")
78355
+ def SAVINGS_PLANS(cls) -> "InterfaceVpcEndpointAwsService":
78356
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SAVINGS_PLANS"))
78357
+
77534
78358
  @jsii.python.classproperty
77535
78359
  @jsii.member(jsii_name="SECRETS_MANAGER")
77536
78360
  def SECRETS_MANAGER(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77666,6 +78490,11 @@ class InterfaceVpcEndpointAwsService(
77666
78490
  def SWF_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
77667
78491
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SWF_FIPS"))
77668
78492
 
78493
+ @jsii.python.classproperty
78494
+ @jsii.member(jsii_name="TAGGING")
78495
+ def TAGGING(cls) -> "InterfaceVpcEndpointAwsService":
78496
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "TAGGING"))
78497
+
77669
78498
  @jsii.python.classproperty
77670
78499
  @jsii.member(jsii_name="TELCO_NETWORK_BUILDER")
77671
78500
  def TELCO_NETWORK_BUILDER(cls) -> "InterfaceVpcEndpointAwsService":
@@ -91977,7 +92806,7 @@ class BastionHostLinux(
91977
92806
  :param init_options: Use the given options for applying CloudFormation Init. Describes the configsets to use and the timeout to wait Default: - default options
91978
92807
  :param instance_name: The name of the instance. Default: 'BastionHost'
91979
92808
  :param instance_type: Type of instance to launch. Default: 't3.nano'
91980
- :param machine_image: The machine image to use, assumed to have SSM Agent preinstalled. Default: - An Amazon Linux 2 image which is kept up-to-date automatically (the instance may be replaced on every deployment) and already has SSM Agent installed.
92809
+ :param machine_image: The machine image to use, assumed to have SSM Agent preinstalled. Default: - An Amazon Linux 2023 image if the ``@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault`` feature flag is enabled. Otherwise, an Amazon Linux 2 image. In both cases, the image is kept up-to-date automatically (the instance may be replaced on every deployment) and already has SSM Agent installed.
91981
92810
  :param require_imdsv2: Whether IMDSv2 should be required on this instance. Default: - false
91982
92811
  :param security_group: Security Group to assign to this instance. Default: - create new security group with no inbound and all outbound traffic allowed
91983
92812
  :param subnet_selection: Select the subnets to run the bastion host in. Set this to PUBLIC if you need to connect to this instance via the internet and cannot use SSM. You have to allow port 22 manually by using the connections field Default: - private subnets of the supplied VPC
@@ -96774,6 +97603,10 @@ __all__ = [
96774
97603
  "CfnTransitGatewayVpcAttachment",
96775
97604
  "CfnTransitGatewayVpcAttachmentProps",
96776
97605
  "CfnVPC",
97606
+ "CfnVPCBlockPublicAccessExclusion",
97607
+ "CfnVPCBlockPublicAccessExclusionProps",
97608
+ "CfnVPCBlockPublicAccessOptions",
97609
+ "CfnVPCBlockPublicAccessOptionsProps",
96777
97610
  "CfnVPCCidrBlock",
96778
97611
  "CfnVPCCidrBlockProps",
96779
97612
  "CfnVPCDHCPOptionsAssociation",
@@ -100258,6 +101091,13 @@ def _typecheckingstub__f5438a142333f133eef7d17b761ec865c610e35c3898aaeced24d3a33
100258
101091
  """Type checking stubs"""
100259
101092
  pass
100260
101093
 
101094
+ def _typecheckingstub__c33b74edb68116a6eddebf7e0fccb8dfd65574d6a35c09a95580596c77d10c84(
101095
+ *,
101096
+ cpu: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLaunchTemplate.CpuProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
101097
+ ) -> None:
101098
+ """Type checking stubs"""
101099
+ pass
101100
+
100261
101101
  def _typecheckingstub__b11583349c048323414167490ce520ce6a2c88a94f22727256f4c8458131de17(
100262
101102
  *,
100263
101103
  device_name: typing.Optional[builtins.str] = None,
@@ -100302,6 +101142,13 @@ def _typecheckingstub__92b7bc91aa2d524d3b92853936f95f64b742fff5188a86cd52b461fbf
100302
101142
  """Type checking stubs"""
100303
101143
  pass
100304
101144
 
101145
+ def _typecheckingstub__a1b8ac2b677fdc40ae8230f2aa1d24dbec065cba8c4948e35f4a0dfd69c2e0bc(
101146
+ *,
101147
+ references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLaunchTemplate.ReferenceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
101148
+ ) -> None:
101149
+ """Type checking stubs"""
101150
+ pass
101151
+
100305
101152
  def _typecheckingstub__650ea292c25895ae31516c706d23275a66f0cceb4abe283b392b67c0f180be7d(
100306
101153
  *,
100307
101154
  cpu_credits: typing.Optional[builtins.str] = None,
@@ -100385,6 +101232,7 @@ def _typecheckingstub__5fc9ef3203af5508d5ac30f48557352d8fd1abcefdc9c04e40826c7c6
100385
101232
  allowed_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
100386
101233
  bare_metal: typing.Optional[builtins.str] = None,
100387
101234
  baseline_ebs_bandwidth_mbps: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLaunchTemplate.BaselineEbsBandwidthMbpsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
101235
+ baseline_performance_factors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLaunchTemplate.BaselinePerformanceFactorsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
100388
101236
  burstable_performance: typing.Optional[builtins.str] = None,
100389
101237
  cpu_manufacturers: typing.Optional[typing.Sequence[builtins.str]] = None,
100390
101238
  excluded_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -100603,6 +101451,13 @@ def _typecheckingstub__b6c5b5b228b065f6a57591206bbe516bb3639cfe4572dbb7cedd38475
100603
101451
  """Type checking stubs"""
100604
101452
  pass
100605
101453
 
101454
+ def _typecheckingstub__33d11f174a8d44a60a690675edd2b1264f7b20538793de8a376d9b1c836c5984(
101455
+ *,
101456
+ instance_family: typing.Optional[builtins.str] = None,
101457
+ ) -> None:
101458
+ """Type checking stubs"""
101459
+ pass
101460
+
100606
101461
  def _typecheckingstub__6a634ae7e5758becae7a53d5843892730c9c079318bfa3bfc2e89825c3df5db7(
100607
101462
  *,
100608
101463
  block_duration_minutes: typing.Optional[jsii.Number] = None,
@@ -104621,6 +105476,98 @@ def _typecheckingstub__48b11f5a9856584abde78ea8179ea1e15a79daa88103bf860d8cfd485
104621
105476
  """Type checking stubs"""
104622
105477
  pass
104623
105478
 
105479
+ def _typecheckingstub__25326e9b68ca765acd9653308fa5b739c5caacf8774e9af4f184caeb59c1f9bd(
105480
+ scope: _constructs_77d1e7e8.Construct,
105481
+ id: builtins.str,
105482
+ *,
105483
+ internet_gateway_exclusion_mode: builtins.str,
105484
+ subnet_id: typing.Optional[builtins.str] = None,
105485
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
105486
+ vpc_id: typing.Optional[builtins.str] = None,
105487
+ ) -> None:
105488
+ """Type checking stubs"""
105489
+ pass
105490
+
105491
+ def _typecheckingstub__fff41514dea5c99d2838630dc273006f56cd390a04c0560987153d17d393a471(
105492
+ inspector: _TreeInspector_488e0dd5,
105493
+ ) -> None:
105494
+ """Type checking stubs"""
105495
+ pass
105496
+
105497
+ def _typecheckingstub__0a9c62992443912b497679935e884da9ceaf569a34e270127ba4c4bbcd9178de(
105498
+ props: typing.Mapping[builtins.str, typing.Any],
105499
+ ) -> None:
105500
+ """Type checking stubs"""
105501
+ pass
105502
+
105503
+ def _typecheckingstub__7a7de616ba221ee0cc286b4d6be980082aff80195ef12a4cc1470e8f39f50d90(
105504
+ value: builtins.str,
105505
+ ) -> None:
105506
+ """Type checking stubs"""
105507
+ pass
105508
+
105509
+ def _typecheckingstub__ee41b552e6a5c9ed1c595a0ca9e2a44e6b4767d4d5f9f93bcc6089a2b8a9078d(
105510
+ value: typing.Optional[builtins.str],
105511
+ ) -> None:
105512
+ """Type checking stubs"""
105513
+ pass
105514
+
105515
+ def _typecheckingstub__1e07d614ce4f71c54dd33e378d7a6513c022cab55e36d27577fcd12c2d88dace(
105516
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
105517
+ ) -> None:
105518
+ """Type checking stubs"""
105519
+ pass
105520
+
105521
+ def _typecheckingstub__0d9ce2b681d384d7bfea8d60491ec27ef69d99c5c9c7ef34d19d78cb31d952de(
105522
+ value: typing.Optional[builtins.str],
105523
+ ) -> None:
105524
+ """Type checking stubs"""
105525
+ pass
105526
+
105527
+ def _typecheckingstub__7176b6dba6a7fdb73a24ee0d3bfe1ed69b7628c88f0232d07fb6339a4e6208ca(
105528
+ *,
105529
+ internet_gateway_exclusion_mode: builtins.str,
105530
+ subnet_id: typing.Optional[builtins.str] = None,
105531
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
105532
+ vpc_id: typing.Optional[builtins.str] = None,
105533
+ ) -> None:
105534
+ """Type checking stubs"""
105535
+ pass
105536
+
105537
+ def _typecheckingstub__24d31c53909b617dc4fc1905f3c6a7fb631c56e6a160f59064795a8c003a6ea4(
105538
+ scope: _constructs_77d1e7e8.Construct,
105539
+ id: builtins.str,
105540
+ *,
105541
+ internet_gateway_block_mode: builtins.str,
105542
+ ) -> None:
105543
+ """Type checking stubs"""
105544
+ pass
105545
+
105546
+ def _typecheckingstub__b41534ffeac2685e907615af2fe97bc820a22bad4e77064e661466f1d1387568(
105547
+ inspector: _TreeInspector_488e0dd5,
105548
+ ) -> None:
105549
+ """Type checking stubs"""
105550
+ pass
105551
+
105552
+ def _typecheckingstub__a56a6f6280e3009a525eeedcead9009e2524e22d3375cc0e5d312a313f168131(
105553
+ props: typing.Mapping[builtins.str, typing.Any],
105554
+ ) -> None:
105555
+ """Type checking stubs"""
105556
+ pass
105557
+
105558
+ def _typecheckingstub__19f57f6719b674f2d0d3c2e221d43093e4d8ae38daa501a2066a6d3afaa98e11(
105559
+ value: builtins.str,
105560
+ ) -> None:
105561
+ """Type checking stubs"""
105562
+ pass
105563
+
105564
+ def _typecheckingstub__58b7bf3beb5810a9ddfb83687c509df267cea795013b7b418f07408b0357d7a7(
105565
+ *,
105566
+ internet_gateway_block_mode: builtins.str,
105567
+ ) -> None:
105568
+ """Type checking stubs"""
105569
+ pass
105570
+
104624
105571
  def _typecheckingstub__183c6879cecf5e6ddd997bbb9856489efd89dd91a20b0a897e4a12a459346d37(
104625
105572
  scope: _constructs_77d1e7e8.Construct,
104626
105573
  id: builtins.str,
@@ -107184,6 +108131,7 @@ def _typecheckingstub__5fdf31f5ae2497c7efcb56df558011698f38dc19cff28ca7a78a08a6d
107184
108131
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
107185
108132
  instance_initiated_shutdown_behavior: typing.Optional[InstanceInitiatedShutdownBehavior] = None,
107186
108133
  instance_name: typing.Optional[builtins.str] = None,
108134
+ instance_profile: typing.Optional[_IInstanceProfile_10d5ce2c] = None,
107187
108135
  ipv6_address_count: typing.Optional[jsii.Number] = None,
107188
108136
  key_name: typing.Optional[builtins.str] = None,
107189
108137
  key_pair: typing.Optional[IKeyPair] = None,
@@ -107255,6 +108203,7 @@ def _typecheckingstub__2d4dc63c6e6ee3ddc68d5dd204d8ac5ef1f1dec37a7b84d636225df1c
107255
108203
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
107256
108204
  instance_initiated_shutdown_behavior: typing.Optional[InstanceInitiatedShutdownBehavior] = None,
107257
108205
  instance_name: typing.Optional[builtins.str] = None,
108206
+ instance_profile: typing.Optional[_IInstanceProfile_10d5ce2c] = None,
107258
108207
  ipv6_address_count: typing.Optional[jsii.Number] = None,
107259
108208
  key_name: typing.Optional[builtins.str] = None,
107260
108209
  key_pair: typing.Optional[IKeyPair] = None,