aws-cdk-lib 2.171.0__py3-none-any.whl → 2.172.0__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (47) hide show
  1. aws_cdk/__init__.py +471 -161
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.171.0.jsii.tgz → aws-cdk-lib@2.172.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +1314 -124
  5. aws_cdk/aws_appsync/__init__.py +159 -136
  6. aws_cdk/aws_autoscaling/__init__.py +81 -24
  7. aws_cdk/aws_bedrock/__init__.py +48 -0
  8. aws_cdk/aws_chatbot/__init__.py +775 -0
  9. aws_cdk/aws_cloudformation/__init__.py +240 -159
  10. aws_cdk/aws_cloudfront/__init__.py +11 -5
  11. aws_cdk/aws_cloudtrail/__init__.py +753 -0
  12. aws_cdk/aws_cognito/__init__.py +825 -4
  13. aws_cdk/aws_connect/__init__.py +429 -0
  14. aws_cdk/aws_customerprofiles/__init__.py +3148 -0
  15. aws_cdk/aws_ec2/__init__.py +872 -5
  16. aws_cdk/aws_ecs/__init__.py +12 -7
  17. aws_cdk/aws_eks/__init__.py +709 -0
  18. aws_cdk/aws_elasticloadbalancingv2/__init__.py +309 -55
  19. aws_cdk/aws_events/__init__.py +515 -8
  20. aws_cdk/aws_iot/__init__.py +42 -4
  21. aws_cdk/aws_iotfleetwise/__init__.py +510 -0
  22. aws_cdk/aws_iotsitewise/__init__.py +156 -0
  23. aws_cdk/aws_lambda/__init__.py +14 -8
  24. aws_cdk/aws_lambda_event_sources/__init__.py +2 -1
  25. aws_cdk/aws_lambda_nodejs/__init__.py +11 -11
  26. aws_cdk/aws_m2/__init__.py +289 -0
  27. aws_cdk/aws_mwaa/__init__.py +6 -6
  28. aws_cdk/aws_opensearchserverless/__init__.py +249 -1
  29. aws_cdk/aws_pipes/__init__.py +14 -30
  30. aws_cdk/aws_qbusiness/__init__.py +3 -1
  31. aws_cdk/aws_quicksight/__init__.py +8270 -10
  32. aws_cdk/aws_rbin/__init__.py +53 -34
  33. aws_cdk/aws_rds/__init__.py +140 -8
  34. aws_cdk/aws_resourcegroups/__init__.py +349 -0
  35. aws_cdk/aws_route53_targets/__init__.py +82 -0
  36. aws_cdk/aws_route53resolver/__init__.py +15 -6
  37. aws_cdk/aws_s3express/__init__.py +403 -2
  38. aws_cdk/aws_sagemaker/__init__.py +124 -112
  39. aws_cdk/aws_ses/__init__.py +79 -41
  40. aws_cdk/aws_wisdom/__init__.py +4713 -172
  41. aws_cdk/aws_workspacesweb/__init__.py +1024 -0
  42. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/METADATA +1 -1
  43. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/RECORD +47 -47
  44. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/LICENSE +0 -0
  45. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/NOTICE +0 -0
  46. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/WHEEL +0 -0
  47. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.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")
@@ -24497,6 +24534,65 @@ class CfnLaunchTemplate(
24497
24534
  k + "=" + repr(v) for k, v in self._values.items()
24498
24535
  )
24499
24536
 
24537
+ @jsii.data_type(
24538
+ jsii_type="aws-cdk-lib.aws_ec2.CfnLaunchTemplate.BaselinePerformanceFactorsProperty",
24539
+ jsii_struct_bases=[],
24540
+ name_mapping={"cpu": "cpu"},
24541
+ )
24542
+ class BaselinePerformanceFactorsProperty:
24543
+ def __init__(
24544
+ self,
24545
+ *,
24546
+ cpu: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.CpuProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
24547
+ ) -> None:
24548
+ '''
24549
+ :param cpu:
24550
+
24551
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-baselineperformancefactors.html
24552
+ :exampleMetadata: fixture=_generated
24553
+
24554
+ Example::
24555
+
24556
+ # The code below shows an example of how to instantiate this type.
24557
+ # The values are placeholders you should change.
24558
+ from aws_cdk import aws_ec2 as ec2
24559
+
24560
+ baseline_performance_factors_property = ec2.CfnLaunchTemplate.BaselinePerformanceFactorsProperty(
24561
+ cpu=ec2.CfnLaunchTemplate.CpuProperty(
24562
+ references=[ec2.CfnLaunchTemplate.ReferenceProperty(
24563
+ instance_family="instanceFamily"
24564
+ )]
24565
+ )
24566
+ )
24567
+ '''
24568
+ if __debug__:
24569
+ type_hints = typing.get_type_hints(_typecheckingstub__c33b74edb68116a6eddebf7e0fccb8dfd65574d6a35c09a95580596c77d10c84)
24570
+ check_type(argname="argument cpu", value=cpu, expected_type=type_hints["cpu"])
24571
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
24572
+ if cpu is not None:
24573
+ self._values["cpu"] = cpu
24574
+
24575
+ @builtins.property
24576
+ def cpu(
24577
+ self,
24578
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.CpuProperty"]]:
24579
+ '''
24580
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-baselineperformancefactors.html#cfn-ec2-launchtemplate-baselineperformancefactors-cpu
24581
+ '''
24582
+ result = self._values.get("cpu")
24583
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.CpuProperty"]], result)
24584
+
24585
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
24586
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
24587
+
24588
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
24589
+ return not (rhs == self)
24590
+
24591
+ def __repr__(self) -> str:
24592
+ return "BaselinePerformanceFactorsProperty(%s)" % ", ".join(
24593
+ k + "=" + repr(v) for k, v in self._values.items()
24594
+ )
24595
+
24500
24596
  @jsii.data_type(
24501
24597
  jsii_type="aws-cdk-lib.aws_ec2.CfnLaunchTemplate.BlockDeviceMappingProperty",
24502
24598
  jsii_struct_bases=[],
@@ -24973,6 +25069,66 @@ class CfnLaunchTemplate(
24973
25069
  k + "=" + repr(v) for k, v in self._values.items()
24974
25070
  )
24975
25071
 
25072
+ @jsii.data_type(
25073
+ jsii_type="aws-cdk-lib.aws_ec2.CfnLaunchTemplate.CpuProperty",
25074
+ jsii_struct_bases=[],
25075
+ name_mapping={"references": "references"},
25076
+ )
25077
+ class CpuProperty:
25078
+ def __init__(
25079
+ self,
25080
+ *,
25081
+ references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.ReferenceProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
25082
+ ) -> None:
25083
+ '''
25084
+ :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.
25085
+
25086
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-cpu.html
25087
+ :exampleMetadata: fixture=_generated
25088
+
25089
+ Example::
25090
+
25091
+ # The code below shows an example of how to instantiate this type.
25092
+ # The values are placeholders you should change.
25093
+ from aws_cdk import aws_ec2 as ec2
25094
+
25095
+ cpu_property = ec2.CfnLaunchTemplate.CpuProperty(
25096
+ references=[ec2.CfnLaunchTemplate.ReferenceProperty(
25097
+ instance_family="instanceFamily"
25098
+ )]
25099
+ )
25100
+ '''
25101
+ if __debug__:
25102
+ type_hints = typing.get_type_hints(_typecheckingstub__a1b8ac2b677fdc40ae8230f2aa1d24dbec065cba8c4948e35f4a0dfd69c2e0bc)
25103
+ check_type(argname="argument references", value=references, expected_type=type_hints["references"])
25104
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
25105
+ if references is not None:
25106
+ self._values["references"] = references
25107
+
25108
+ @builtins.property
25109
+ def references(
25110
+ self,
25111
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.ReferenceProperty"]]]]:
25112
+ '''A list of references to be used as baseline for the CPU performance.
25113
+
25114
+ Currently, you can only specify a single reference across different instance type variations such as CPU manufacturers, architectures etc.
25115
+
25116
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-cpu.html#cfn-ec2-launchtemplate-cpu-references
25117
+ '''
25118
+ result = self._values.get("references")
25119
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.ReferenceProperty"]]]], result)
25120
+
25121
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
25122
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
25123
+
25124
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
25125
+ return not (rhs == self)
25126
+
25127
+ def __repr__(self) -> str:
25128
+ return "CpuProperty(%s)" % ", ".join(
25129
+ k + "=" + repr(v) for k, v in self._values.items()
25130
+ )
25131
+
24976
25132
  @jsii.data_type(
24977
25133
  jsii_type="aws-cdk-lib.aws_ec2.CfnLaunchTemplate.CreditSpecificationProperty",
24978
25134
  jsii_struct_bases=[],
@@ -25726,6 +25882,7 @@ class CfnLaunchTemplate(
25726
25882
  "allowed_instance_types": "allowedInstanceTypes",
25727
25883
  "bare_metal": "bareMetal",
25728
25884
  "baseline_ebs_bandwidth_mbps": "baselineEbsBandwidthMbps",
25885
+ "baseline_performance_factors": "baselinePerformanceFactors",
25729
25886
  "burstable_performance": "burstablePerformance",
25730
25887
  "cpu_manufacturers": "cpuManufacturers",
25731
25888
  "excluded_instance_types": "excludedInstanceTypes",
@@ -25756,6 +25913,7 @@ class CfnLaunchTemplate(
25756
25913
  allowed_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
25757
25914
  bare_metal: typing.Optional[builtins.str] = None,
25758
25915
  baseline_ebs_bandwidth_mbps: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.BaselineEbsBandwidthMbpsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
25916
+ baseline_performance_factors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.BaselinePerformanceFactorsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
25759
25917
  burstable_performance: typing.Optional[builtins.str] = None,
25760
25918
  cpu_manufacturers: typing.Optional[typing.Sequence[builtins.str]] = None,
25761
25919
  excluded_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -25802,6 +25960,7 @@ class CfnLaunchTemplate(
25802
25960
  :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
25961
  :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
25962
  :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
25963
+ :param baseline_performance_factors:
25805
25964
  :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
25965
  :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
25807
25966
  :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
@@ -25846,6 +26005,13 @@ class CfnLaunchTemplate(
25846
26005
  max=123,
25847
26006
  min=123
25848
26007
  ),
26008
+ baseline_performance_factors=ec2.CfnLaunchTemplate.BaselinePerformanceFactorsProperty(
26009
+ cpu=ec2.CfnLaunchTemplate.CpuProperty(
26010
+ references=[ec2.CfnLaunchTemplate.ReferenceProperty(
26011
+ instance_family="instanceFamily"
26012
+ )]
26013
+ )
26014
+ ),
25849
26015
  burstable_performance="burstablePerformance",
25850
26016
  cpu_manufacturers=["cpuManufacturers"],
25851
26017
  excluded_instance_types=["excludedInstanceTypes"],
@@ -25892,6 +26058,7 @@ class CfnLaunchTemplate(
25892
26058
  check_type(argname="argument allowed_instance_types", value=allowed_instance_types, expected_type=type_hints["allowed_instance_types"])
25893
26059
  check_type(argname="argument bare_metal", value=bare_metal, expected_type=type_hints["bare_metal"])
25894
26060
  check_type(argname="argument baseline_ebs_bandwidth_mbps", value=baseline_ebs_bandwidth_mbps, expected_type=type_hints["baseline_ebs_bandwidth_mbps"])
26061
+ check_type(argname="argument baseline_performance_factors", value=baseline_performance_factors, expected_type=type_hints["baseline_performance_factors"])
25895
26062
  check_type(argname="argument burstable_performance", value=burstable_performance, expected_type=type_hints["burstable_performance"])
25896
26063
  check_type(argname="argument cpu_manufacturers", value=cpu_manufacturers, expected_type=type_hints["cpu_manufacturers"])
25897
26064
  check_type(argname="argument excluded_instance_types", value=excluded_instance_types, expected_type=type_hints["excluded_instance_types"])
@@ -25925,6 +26092,8 @@ class CfnLaunchTemplate(
25925
26092
  self._values["bare_metal"] = bare_metal
25926
26093
  if baseline_ebs_bandwidth_mbps is not None:
25927
26094
  self._values["baseline_ebs_bandwidth_mbps"] = baseline_ebs_bandwidth_mbps
26095
+ if baseline_performance_factors is not None:
26096
+ self._values["baseline_performance_factors"] = baseline_performance_factors
25928
26097
  if burstable_performance is not None:
25929
26098
  self._values["burstable_performance"] = burstable_performance
25930
26099
  if cpu_manufacturers is not None:
@@ -26093,6 +26262,16 @@ class CfnLaunchTemplate(
26093
26262
  result = self._values.get("baseline_ebs_bandwidth_mbps")
26094
26263
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.BaselineEbsBandwidthMbpsProperty"]], result)
26095
26264
 
26265
+ @builtins.property
26266
+ def baseline_performance_factors(
26267
+ self,
26268
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.BaselinePerformanceFactorsProperty"]]:
26269
+ '''
26270
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-baselineperformancefactors
26271
+ '''
26272
+ result = self._values.get("baseline_performance_factors")
26273
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.BaselinePerformanceFactorsProperty"]], result)
26274
+
26096
26275
  @builtins.property
26097
26276
  def burstable_performance(self) -> typing.Optional[builtins.str]:
26098
26277
  '''Indicates whether burstable performance T instance types are included, excluded, or required.
@@ -26739,6 +26918,13 @@ class CfnLaunchTemplate(
26739
26918
  max=123,
26740
26919
  min=123
26741
26920
  ),
26921
+ baseline_performance_factors=ec2.CfnLaunchTemplate.BaselinePerformanceFactorsProperty(
26922
+ cpu=ec2.CfnLaunchTemplate.CpuProperty(
26923
+ references=[ec2.CfnLaunchTemplate.ReferenceProperty(
26924
+ instance_family="instanceFamily"
26925
+ )]
26926
+ )
26927
+ ),
26742
26928
  burstable_performance="burstablePerformance",
26743
26929
  cpu_manufacturers=["cpuManufacturers"],
26744
26930
  excluded_instance_types=["excludedInstanceTypes"],
@@ -28994,6 +29180,62 @@ class CfnLaunchTemplate(
28994
29180
  k + "=" + repr(v) for k, v in self._values.items()
28995
29181
  )
28996
29182
 
29183
+ @jsii.data_type(
29184
+ jsii_type="aws-cdk-lib.aws_ec2.CfnLaunchTemplate.ReferenceProperty",
29185
+ jsii_struct_bases=[],
29186
+ name_mapping={"instance_family": "instanceFamily"},
29187
+ )
29188
+ class ReferenceProperty:
29189
+ def __init__(
29190
+ self,
29191
+ *,
29192
+ instance_family: typing.Optional[builtins.str] = None,
29193
+ ) -> None:
29194
+ '''
29195
+ :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.
29196
+
29197
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-reference.html
29198
+ :exampleMetadata: fixture=_generated
29199
+
29200
+ Example::
29201
+
29202
+ # The code below shows an example of how to instantiate this type.
29203
+ # The values are placeholders you should change.
29204
+ from aws_cdk import aws_ec2 as ec2
29205
+
29206
+ reference_property = ec2.CfnLaunchTemplate.ReferenceProperty(
29207
+ instance_family="instanceFamily"
29208
+ )
29209
+ '''
29210
+ if __debug__:
29211
+ type_hints = typing.get_type_hints(_typecheckingstub__33d11f174a8d44a60a690675edd2b1264f7b20538793de8a376d9b1c836c5984)
29212
+ check_type(argname="argument instance_family", value=instance_family, expected_type=type_hints["instance_family"])
29213
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
29214
+ if instance_family is not None:
29215
+ self._values["instance_family"] = instance_family
29216
+
29217
+ @builtins.property
29218
+ def instance_family(self) -> typing.Optional[builtins.str]:
29219
+ '''The instance family to refer.
29220
+
29221
+ Ensure that you specify the correct family name. For example, C6i and C6g are valid values, but C6 is not.
29222
+
29223
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-reference.html#cfn-ec2-launchtemplate-reference-instancefamily
29224
+ '''
29225
+ result = self._values.get("instance_family")
29226
+ return typing.cast(typing.Optional[builtins.str], result)
29227
+
29228
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
29229
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
29230
+
29231
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
29232
+ return not (rhs == self)
29233
+
29234
+ def __repr__(self) -> str:
29235
+ return "ReferenceProperty(%s)" % ", ".join(
29236
+ k + "=" + repr(v) for k, v in self._values.items()
29237
+ )
29238
+
28997
29239
  @jsii.data_type(
28998
29240
  jsii_type="aws-cdk-lib.aws_ec2.CfnLaunchTemplate.SpotOptionsProperty",
28999
29241
  jsii_struct_bases=[],
@@ -56264,6 +56506,445 @@ class CfnVPC(
56264
56506
  jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
56265
56507
 
56266
56508
 
56509
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
56510
+ class CfnVPCBlockPublicAccessExclusion(
56511
+ _CfnResource_9df397a6,
56512
+ metaclass=jsii.JSIIMeta,
56513
+ jsii_type="aws-cdk-lib.aws_ec2.CfnVPCBlockPublicAccessExclusion",
56514
+ ):
56515
+ '''Resource Type definition for AWS::EC2::VPCBlockPublicAccessExclusion.
56516
+
56517
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html
56518
+ :cloudformationResource: AWS::EC2::VPCBlockPublicAccessExclusion
56519
+ :exampleMetadata: fixture=_generated
56520
+
56521
+ Example::
56522
+
56523
+ # The code below shows an example of how to instantiate this type.
56524
+ # The values are placeholders you should change.
56525
+ from aws_cdk import aws_ec2 as ec2
56526
+
56527
+ cfn_vPCBlock_public_access_exclusion = ec2.CfnVPCBlockPublicAccessExclusion(self, "MyCfnVPCBlockPublicAccessExclusion",
56528
+ internet_gateway_exclusion_mode="internetGatewayExclusionMode",
56529
+
56530
+ # the properties below are optional
56531
+ subnet_id="subnetId",
56532
+ tags=[CfnTag(
56533
+ key="key",
56534
+ value="value"
56535
+ )],
56536
+ vpc_id="vpcId"
56537
+ )
56538
+ '''
56539
+
56540
+ def __init__(
56541
+ self,
56542
+ scope: _constructs_77d1e7e8.Construct,
56543
+ id: builtins.str,
56544
+ *,
56545
+ internet_gateway_exclusion_mode: builtins.str,
56546
+ subnet_id: typing.Optional[builtins.str] = None,
56547
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
56548
+ vpc_id: typing.Optional[builtins.str] = None,
56549
+ ) -> None:
56550
+ '''
56551
+ :param scope: Scope in which this resource is defined.
56552
+ :param id: Construct identifier for this resource (unique in its scope).
56553
+ :param internet_gateway_exclusion_mode: The desired Block Public Access Exclusion Mode for a specific VPC/Subnet.
56554
+ :param subnet_id: The ID of the subnet. Required only if you don't specify VpcId
56555
+ :param tags: An array of key-value pairs to apply to this resource.
56556
+ :param vpc_id: The ID of the vpc. Required only if you don't specify SubnetId.
56557
+ '''
56558
+ if __debug__:
56559
+ type_hints = typing.get_type_hints(_typecheckingstub__25326e9b68ca765acd9653308fa5b739c5caacf8774e9af4f184caeb59c1f9bd)
56560
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
56561
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
56562
+ props = CfnVPCBlockPublicAccessExclusionProps(
56563
+ internet_gateway_exclusion_mode=internet_gateway_exclusion_mode,
56564
+ subnet_id=subnet_id,
56565
+ tags=tags,
56566
+ vpc_id=vpc_id,
56567
+ )
56568
+
56569
+ jsii.create(self.__class__, self, [scope, id, props])
56570
+
56571
+ @jsii.member(jsii_name="inspect")
56572
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
56573
+ '''Examines the CloudFormation resource and discloses attributes.
56574
+
56575
+ :param inspector: tree inspector to collect and process attributes.
56576
+ '''
56577
+ if __debug__:
56578
+ type_hints = typing.get_type_hints(_typecheckingstub__fff41514dea5c99d2838630dc273006f56cd390a04c0560987153d17d393a471)
56579
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
56580
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
56581
+
56582
+ @jsii.member(jsii_name="renderProperties")
56583
+ def _render_properties(
56584
+ self,
56585
+ props: typing.Mapping[builtins.str, typing.Any],
56586
+ ) -> typing.Mapping[builtins.str, typing.Any]:
56587
+ '''
56588
+ :param props: -
56589
+ '''
56590
+ if __debug__:
56591
+ type_hints = typing.get_type_hints(_typecheckingstub__0a9c62992443912b497679935e884da9ceaf569a34e270127ba4c4bbcd9178de)
56592
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
56593
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
56594
+
56595
+ @jsii.python.classproperty
56596
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
56597
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
56598
+ '''The CloudFormation resource type name for this resource class.'''
56599
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
56600
+
56601
+ @builtins.property
56602
+ @jsii.member(jsii_name="attrExclusionId")
56603
+ def attr_exclusion_id(self) -> builtins.str:
56604
+ '''The ID of the exclusion.
56605
+
56606
+ :cloudformationAttribute: ExclusionId
56607
+ '''
56608
+ return typing.cast(builtins.str, jsii.get(self, "attrExclusionId"))
56609
+
56610
+ @builtins.property
56611
+ @jsii.member(jsii_name="cdkTagManager")
56612
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
56613
+ '''Tag Manager which manages the tags for this resource.'''
56614
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
56615
+
56616
+ @builtins.property
56617
+ @jsii.member(jsii_name="cfnProperties")
56618
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
56619
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
56620
+
56621
+ @builtins.property
56622
+ @jsii.member(jsii_name="internetGatewayExclusionMode")
56623
+ def internet_gateway_exclusion_mode(self) -> builtins.str:
56624
+ '''The desired Block Public Access Exclusion Mode for a specific VPC/Subnet.'''
56625
+ return typing.cast(builtins.str, jsii.get(self, "internetGatewayExclusionMode"))
56626
+
56627
+ @internet_gateway_exclusion_mode.setter
56628
+ def internet_gateway_exclusion_mode(self, value: builtins.str) -> None:
56629
+ if __debug__:
56630
+ type_hints = typing.get_type_hints(_typecheckingstub__7a7de616ba221ee0cc286b4d6be980082aff80195ef12a4cc1470e8f39f50d90)
56631
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
56632
+ jsii.set(self, "internetGatewayExclusionMode", value) # pyright: ignore[reportArgumentType]
56633
+
56634
+ @builtins.property
56635
+ @jsii.member(jsii_name="subnetId")
56636
+ def subnet_id(self) -> typing.Optional[builtins.str]:
56637
+ '''The ID of the subnet.'''
56638
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "subnetId"))
56639
+
56640
+ @subnet_id.setter
56641
+ def subnet_id(self, value: typing.Optional[builtins.str]) -> None:
56642
+ if __debug__:
56643
+ type_hints = typing.get_type_hints(_typecheckingstub__ee41b552e6a5c9ed1c595a0ca9e2a44e6b4767d4d5f9f93bcc6089a2b8a9078d)
56644
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
56645
+ jsii.set(self, "subnetId", value) # pyright: ignore[reportArgumentType]
56646
+
56647
+ @builtins.property
56648
+ @jsii.member(jsii_name="tags")
56649
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
56650
+ '''An array of key-value pairs to apply to this resource.'''
56651
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
56652
+
56653
+ @tags.setter
56654
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
56655
+ if __debug__:
56656
+ type_hints = typing.get_type_hints(_typecheckingstub__1e07d614ce4f71c54dd33e378d7a6513c022cab55e36d27577fcd12c2d88dace)
56657
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
56658
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
56659
+
56660
+ @builtins.property
56661
+ @jsii.member(jsii_name="vpcId")
56662
+ def vpc_id(self) -> typing.Optional[builtins.str]:
56663
+ '''The ID of the vpc.'''
56664
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "vpcId"))
56665
+
56666
+ @vpc_id.setter
56667
+ def vpc_id(self, value: typing.Optional[builtins.str]) -> None:
56668
+ if __debug__:
56669
+ type_hints = typing.get_type_hints(_typecheckingstub__0d9ce2b681d384d7bfea8d60491ec27ef69d99c5c9c7ef34d19d78cb31d952de)
56670
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
56671
+ jsii.set(self, "vpcId", value) # pyright: ignore[reportArgumentType]
56672
+
56673
+
56674
+ @jsii.data_type(
56675
+ jsii_type="aws-cdk-lib.aws_ec2.CfnVPCBlockPublicAccessExclusionProps",
56676
+ jsii_struct_bases=[],
56677
+ name_mapping={
56678
+ "internet_gateway_exclusion_mode": "internetGatewayExclusionMode",
56679
+ "subnet_id": "subnetId",
56680
+ "tags": "tags",
56681
+ "vpc_id": "vpcId",
56682
+ },
56683
+ )
56684
+ class CfnVPCBlockPublicAccessExclusionProps:
56685
+ def __init__(
56686
+ self,
56687
+ *,
56688
+ internet_gateway_exclusion_mode: builtins.str,
56689
+ subnet_id: typing.Optional[builtins.str] = None,
56690
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
56691
+ vpc_id: typing.Optional[builtins.str] = None,
56692
+ ) -> None:
56693
+ '''Properties for defining a ``CfnVPCBlockPublicAccessExclusion``.
56694
+
56695
+ :param internet_gateway_exclusion_mode: The desired Block Public Access Exclusion Mode for a specific VPC/Subnet.
56696
+ :param subnet_id: The ID of the subnet. Required only if you don't specify VpcId
56697
+ :param tags: An array of key-value pairs to apply to this resource.
56698
+ :param vpc_id: The ID of the vpc. Required only if you don't specify SubnetId.
56699
+
56700
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html
56701
+ :exampleMetadata: fixture=_generated
56702
+
56703
+ Example::
56704
+
56705
+ # The code below shows an example of how to instantiate this type.
56706
+ # The values are placeholders you should change.
56707
+ from aws_cdk import aws_ec2 as ec2
56708
+
56709
+ cfn_vPCBlock_public_access_exclusion_props = ec2.CfnVPCBlockPublicAccessExclusionProps(
56710
+ internet_gateway_exclusion_mode="internetGatewayExclusionMode",
56711
+
56712
+ # the properties below are optional
56713
+ subnet_id="subnetId",
56714
+ tags=[CfnTag(
56715
+ key="key",
56716
+ value="value"
56717
+ )],
56718
+ vpc_id="vpcId"
56719
+ )
56720
+ '''
56721
+ if __debug__:
56722
+ type_hints = typing.get_type_hints(_typecheckingstub__7176b6dba6a7fdb73a24ee0d3bfe1ed69b7628c88f0232d07fb6339a4e6208ca)
56723
+ check_type(argname="argument internet_gateway_exclusion_mode", value=internet_gateway_exclusion_mode, expected_type=type_hints["internet_gateway_exclusion_mode"])
56724
+ check_type(argname="argument subnet_id", value=subnet_id, expected_type=type_hints["subnet_id"])
56725
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
56726
+ check_type(argname="argument vpc_id", value=vpc_id, expected_type=type_hints["vpc_id"])
56727
+ self._values: typing.Dict[builtins.str, typing.Any] = {
56728
+ "internet_gateway_exclusion_mode": internet_gateway_exclusion_mode,
56729
+ }
56730
+ if subnet_id is not None:
56731
+ self._values["subnet_id"] = subnet_id
56732
+ if tags is not None:
56733
+ self._values["tags"] = tags
56734
+ if vpc_id is not None:
56735
+ self._values["vpc_id"] = vpc_id
56736
+
56737
+ @builtins.property
56738
+ def internet_gateway_exclusion_mode(self) -> builtins.str:
56739
+ '''The desired Block Public Access Exclusion Mode for a specific VPC/Subnet.
56740
+
56741
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html#cfn-ec2-vpcblockpublicaccessexclusion-internetgatewayexclusionmode
56742
+ '''
56743
+ result = self._values.get("internet_gateway_exclusion_mode")
56744
+ assert result is not None, "Required property 'internet_gateway_exclusion_mode' is missing"
56745
+ return typing.cast(builtins.str, result)
56746
+
56747
+ @builtins.property
56748
+ def subnet_id(self) -> typing.Optional[builtins.str]:
56749
+ '''The ID of the subnet.
56750
+
56751
+ Required only if you don't specify VpcId
56752
+
56753
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html#cfn-ec2-vpcblockpublicaccessexclusion-subnetid
56754
+ '''
56755
+ result = self._values.get("subnet_id")
56756
+ return typing.cast(typing.Optional[builtins.str], result)
56757
+
56758
+ @builtins.property
56759
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
56760
+ '''An array of key-value pairs to apply to this resource.
56761
+
56762
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html#cfn-ec2-vpcblockpublicaccessexclusion-tags
56763
+ '''
56764
+ result = self._values.get("tags")
56765
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
56766
+
56767
+ @builtins.property
56768
+ def vpc_id(self) -> typing.Optional[builtins.str]:
56769
+ '''The ID of the vpc.
56770
+
56771
+ Required only if you don't specify SubnetId.
56772
+
56773
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html#cfn-ec2-vpcblockpublicaccessexclusion-vpcid
56774
+ '''
56775
+ result = self._values.get("vpc_id")
56776
+ return typing.cast(typing.Optional[builtins.str], result)
56777
+
56778
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
56779
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
56780
+
56781
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
56782
+ return not (rhs == self)
56783
+
56784
+ def __repr__(self) -> str:
56785
+ return "CfnVPCBlockPublicAccessExclusionProps(%s)" % ", ".join(
56786
+ k + "=" + repr(v) for k, v in self._values.items()
56787
+ )
56788
+
56789
+
56790
+ @jsii.implements(_IInspectable_c2943556)
56791
+ class CfnVPCBlockPublicAccessOptions(
56792
+ _CfnResource_9df397a6,
56793
+ metaclass=jsii.JSIIMeta,
56794
+ jsii_type="aws-cdk-lib.aws_ec2.CfnVPCBlockPublicAccessOptions",
56795
+ ):
56796
+ '''Resource Type definition for AWS::EC2::VPCBlockPublicAccessOptions.
56797
+
56798
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessoptions.html
56799
+ :cloudformationResource: AWS::EC2::VPCBlockPublicAccessOptions
56800
+ :exampleMetadata: fixture=_generated
56801
+
56802
+ Example::
56803
+
56804
+ # The code below shows an example of how to instantiate this type.
56805
+ # The values are placeholders you should change.
56806
+ from aws_cdk import aws_ec2 as ec2
56807
+
56808
+ cfn_vPCBlock_public_access_options = ec2.CfnVPCBlockPublicAccessOptions(self, "MyCfnVPCBlockPublicAccessOptions",
56809
+ internet_gateway_block_mode="internetGatewayBlockMode"
56810
+ )
56811
+ '''
56812
+
56813
+ def __init__(
56814
+ self,
56815
+ scope: _constructs_77d1e7e8.Construct,
56816
+ id: builtins.str,
56817
+ *,
56818
+ internet_gateway_block_mode: builtins.str,
56819
+ ) -> None:
56820
+ '''
56821
+ :param scope: Scope in which this resource is defined.
56822
+ :param id: Construct identifier for this resource (unique in its scope).
56823
+ :param internet_gateway_block_mode: The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value
56824
+ '''
56825
+ if __debug__:
56826
+ type_hints = typing.get_type_hints(_typecheckingstub__24d31c53909b617dc4fc1905f3c6a7fb631c56e6a160f59064795a8c003a6ea4)
56827
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
56828
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
56829
+ props = CfnVPCBlockPublicAccessOptionsProps(
56830
+ internet_gateway_block_mode=internet_gateway_block_mode
56831
+ )
56832
+
56833
+ jsii.create(self.__class__, self, [scope, id, props])
56834
+
56835
+ @jsii.member(jsii_name="inspect")
56836
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
56837
+ '''Examines the CloudFormation resource and discloses attributes.
56838
+
56839
+ :param inspector: tree inspector to collect and process attributes.
56840
+ '''
56841
+ if __debug__:
56842
+ type_hints = typing.get_type_hints(_typecheckingstub__b41534ffeac2685e907615af2fe97bc820a22bad4e77064e661466f1d1387568)
56843
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
56844
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
56845
+
56846
+ @jsii.member(jsii_name="renderProperties")
56847
+ def _render_properties(
56848
+ self,
56849
+ props: typing.Mapping[builtins.str, typing.Any],
56850
+ ) -> typing.Mapping[builtins.str, typing.Any]:
56851
+ '''
56852
+ :param props: -
56853
+ '''
56854
+ if __debug__:
56855
+ type_hints = typing.get_type_hints(_typecheckingstub__a56a6f6280e3009a525eeedcead9009e2524e22d3375cc0e5d312a313f168131)
56856
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
56857
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
56858
+
56859
+ @jsii.python.classproperty
56860
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
56861
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
56862
+ '''The CloudFormation resource type name for this resource class.'''
56863
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
56864
+
56865
+ @builtins.property
56866
+ @jsii.member(jsii_name="attrAccountId")
56867
+ def attr_account_id(self) -> builtins.str:
56868
+ '''The identifier for the specified AWS account.
56869
+
56870
+ :cloudformationAttribute: AccountId
56871
+ '''
56872
+ return typing.cast(builtins.str, jsii.get(self, "attrAccountId"))
56873
+
56874
+ @builtins.property
56875
+ @jsii.member(jsii_name="cfnProperties")
56876
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
56877
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
56878
+
56879
+ @builtins.property
56880
+ @jsii.member(jsii_name="internetGatewayBlockMode")
56881
+ def internet_gateway_block_mode(self) -> builtins.str:
56882
+ '''The desired Block Public Access mode for Internet Gateways in your account.'''
56883
+ return typing.cast(builtins.str, jsii.get(self, "internetGatewayBlockMode"))
56884
+
56885
+ @internet_gateway_block_mode.setter
56886
+ def internet_gateway_block_mode(self, value: builtins.str) -> None:
56887
+ if __debug__:
56888
+ type_hints = typing.get_type_hints(_typecheckingstub__19f57f6719b674f2d0d3c2e221d43093e4d8ae38daa501a2066a6d3afaa98e11)
56889
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
56890
+ jsii.set(self, "internetGatewayBlockMode", value) # pyright: ignore[reportArgumentType]
56891
+
56892
+
56893
+ @jsii.data_type(
56894
+ jsii_type="aws-cdk-lib.aws_ec2.CfnVPCBlockPublicAccessOptionsProps",
56895
+ jsii_struct_bases=[],
56896
+ name_mapping={"internet_gateway_block_mode": "internetGatewayBlockMode"},
56897
+ )
56898
+ class CfnVPCBlockPublicAccessOptionsProps:
56899
+ def __init__(self, *, internet_gateway_block_mode: builtins.str) -> None:
56900
+ '''Properties for defining a ``CfnVPCBlockPublicAccessOptions``.
56901
+
56902
+ :param internet_gateway_block_mode: The desired Block Public Access mode for Internet Gateways in your account. We do not allow to create in a off mode as this is the default value
56903
+
56904
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessoptions.html
56905
+ :exampleMetadata: fixture=_generated
56906
+
56907
+ Example::
56908
+
56909
+ # The code below shows an example of how to instantiate this type.
56910
+ # The values are placeholders you should change.
56911
+ from aws_cdk import aws_ec2 as ec2
56912
+
56913
+ cfn_vPCBlock_public_access_options_props = ec2.CfnVPCBlockPublicAccessOptionsProps(
56914
+ internet_gateway_block_mode="internetGatewayBlockMode"
56915
+ )
56916
+ '''
56917
+ if __debug__:
56918
+ type_hints = typing.get_type_hints(_typecheckingstub__58b7bf3beb5810a9ddfb83687c509df267cea795013b7b418f07408b0357d7a7)
56919
+ check_type(argname="argument internet_gateway_block_mode", value=internet_gateway_block_mode, expected_type=type_hints["internet_gateway_block_mode"])
56920
+ self._values: typing.Dict[builtins.str, typing.Any] = {
56921
+ "internet_gateway_block_mode": internet_gateway_block_mode,
56922
+ }
56923
+
56924
+ @builtins.property
56925
+ def internet_gateway_block_mode(self) -> builtins.str:
56926
+ '''The desired Block Public Access mode for Internet Gateways in your account.
56927
+
56928
+ We do not allow to create in a off mode as this is the default value
56929
+
56930
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessoptions.html#cfn-ec2-vpcblockpublicaccessoptions-internetgatewayblockmode
56931
+ '''
56932
+ result = self._values.get("internet_gateway_block_mode")
56933
+ assert result is not None, "Required property 'internet_gateway_block_mode' is missing"
56934
+ return typing.cast(builtins.str, result)
56935
+
56936
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
56937
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
56938
+
56939
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
56940
+ return not (rhs == self)
56941
+
56942
+ def __repr__(self) -> str:
56943
+ return "CfnVPCBlockPublicAccessOptionsProps(%s)" % ", ".join(
56944
+ k + "=" + repr(v) for k, v in self._values.items()
56945
+ )
56946
+
56947
+
56267
56948
  @jsii.implements(_IInspectable_c2943556)
56268
56949
  class CfnVPCCidrBlock(
56269
56950
  _CfnResource_9df397a6,
@@ -74101,6 +74782,7 @@ class Instance(
74101
74782
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
74102
74783
  instance_initiated_shutdown_behavior: typing.Optional["InstanceInitiatedShutdownBehavior"] = None,
74103
74784
  instance_name: typing.Optional[builtins.str] = None,
74785
+ instance_profile: typing.Optional[_IInstanceProfile_10d5ce2c] = None,
74104
74786
  ipv6_address_count: typing.Optional[jsii.Number] = None,
74105
74787
  key_name: typing.Optional[builtins.str] = None,
74106
74788
  key_pair: typing.Optional[IKeyPair] = None,
@@ -74138,6 +74820,7 @@ class Instance(
74138
74820
  :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
74821
  :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
74822
  :param instance_name: The name of the instance. Default: - CDK generated name
74823
+ :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
74824
  :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
74825
  :param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
74143
74826
  :param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
@@ -74146,7 +74829,7 @@ class Instance(
74146
74829
  :param propagate_tags_to_volume_on_creation: Propagate the EC2 instance tags to the EBS volumes. Default: - false
74147
74830
  :param require_imdsv2: Whether IMDSv2 should be required on this instance. Default: - false
74148
74831
  :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
74832
+ :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
74833
  :param security_group: Security Group to assign to this instance. Default: - create new security group
74151
74834
  :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
74835
  :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 +74860,7 @@ class Instance(
74177
74860
  init_options=init_options,
74178
74861
  instance_initiated_shutdown_behavior=instance_initiated_shutdown_behavior,
74179
74862
  instance_name=instance_name,
74863
+ instance_profile=instance_profile,
74180
74864
  ipv6_address_count=ipv6_address_count,
74181
74865
  key_name=key_name,
74182
74866
  key_pair=key_pair,
@@ -74989,6 +75673,7 @@ class InstanceInitiatedShutdownBehavior(enum.Enum):
74989
75673
  "init_options": "initOptions",
74990
75674
  "instance_initiated_shutdown_behavior": "instanceInitiatedShutdownBehavior",
74991
75675
  "instance_name": "instanceName",
75676
+ "instance_profile": "instanceProfile",
74992
75677
  "ipv6_address_count": "ipv6AddressCount",
74993
75678
  "key_name": "keyName",
74994
75679
  "key_pair": "keyPair",
@@ -75028,6 +75713,7 @@ class InstanceProps:
75028
75713
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
75029
75714
  instance_initiated_shutdown_behavior: typing.Optional[InstanceInitiatedShutdownBehavior] = None,
75030
75715
  instance_name: typing.Optional[builtins.str] = None,
75716
+ instance_profile: typing.Optional[_IInstanceProfile_10d5ce2c] = None,
75031
75717
  ipv6_address_count: typing.Optional[jsii.Number] = None,
75032
75718
  key_name: typing.Optional[builtins.str] = None,
75033
75719
  key_pair: typing.Optional[IKeyPair] = None,
@@ -75064,6 +75750,7 @@ class InstanceProps:
75064
75750
  :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
75751
  :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
75752
  :param instance_name: The name of the instance. Default: - CDK generated name
75753
+ :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
75754
  :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
75755
  :param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
75069
75756
  :param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
@@ -75072,7 +75759,7 @@ class InstanceProps:
75072
75759
  :param propagate_tags_to_volume_on_creation: Propagate the EC2 instance tags to the EBS volumes. Default: - false
75073
75760
  :param require_imdsv2: Whether IMDSv2 should be required on this instance. Default: - false
75074
75761
  :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
75762
+ :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
75763
  :param security_group: Security Group to assign to this instance. Default: - create new security group
75077
75764
  :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
75765
  :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 +75810,7 @@ class InstanceProps:
75123
75810
  check_type(argname="argument init_options", value=init_options, expected_type=type_hints["init_options"])
75124
75811
  check_type(argname="argument instance_initiated_shutdown_behavior", value=instance_initiated_shutdown_behavior, expected_type=type_hints["instance_initiated_shutdown_behavior"])
75125
75812
  check_type(argname="argument instance_name", value=instance_name, expected_type=type_hints["instance_name"])
75813
+ check_type(argname="argument instance_profile", value=instance_profile, expected_type=type_hints["instance_profile"])
75126
75814
  check_type(argname="argument ipv6_address_count", value=ipv6_address_count, expected_type=type_hints["ipv6_address_count"])
75127
75815
  check_type(argname="argument key_name", value=key_name, expected_type=type_hints["key_name"])
75128
75816
  check_type(argname="argument key_pair", value=key_pair, expected_type=type_hints["key_pair"])
@@ -75173,6 +75861,8 @@ class InstanceProps:
75173
75861
  self._values["instance_initiated_shutdown_behavior"] = instance_initiated_shutdown_behavior
75174
75862
  if instance_name is not None:
75175
75863
  self._values["instance_name"] = instance_name
75864
+ if instance_profile is not None:
75865
+ self._values["instance_profile"] = instance_profile
75176
75866
  if ipv6_address_count is not None:
75177
75867
  self._values["ipv6_address_count"] = ipv6_address_count
75178
75868
  if key_name is not None:
@@ -75405,6 +76095,17 @@ class InstanceProps:
75405
76095
  result = self._values.get("instance_name")
75406
76096
  return typing.cast(typing.Optional[builtins.str], result)
75407
76097
 
76098
+ @builtins.property
76099
+ def instance_profile(self) -> typing.Optional[_IInstanceProfile_10d5ce2c]:
76100
+ '''The instance profile used to pass role information to EC2 instances.
76101
+
76102
+ Note: You can provide an instanceProfile or a role, but not both.
76103
+
76104
+ :default: - No instance profile
76105
+ '''
76106
+ result = self._values.get("instance_profile")
76107
+ return typing.cast(typing.Optional[_IInstanceProfile_10d5ce2c], result)
76108
+
75408
76109
  @builtins.property
75409
76110
  def ipv6_address_count(self) -> typing.Optional[jsii.Number]:
75410
76111
  '''The number of IPv6 addresses to associate with the primary network interface.
@@ -75494,6 +76195,7 @@ class InstanceProps:
75494
76195
  '''An IAM role to associate with the instance profile assigned to this Auto Scaling Group.
75495
76196
 
75496
76197
  The role must be assumable by the service principal ``ec2.amazonaws.com``:
76198
+ Note: You can provide an instanceProfile or a role, but not both.
75497
76199
 
75498
76200
  :default: - A role will automatically be created, it can be accessed via the ``role`` property
75499
76201
 
@@ -76160,6 +76862,16 @@ class InterfaceVpcEndpointAwsService(
76160
76862
  def APPLICATION_AUTOSCALING(cls) -> "InterfaceVpcEndpointAwsService":
76161
76863
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "APPLICATION_AUTOSCALING"))
76162
76864
 
76865
+ @jsii.python.classproperty
76866
+ @jsii.member(jsii_name="APPLICATION_DISCOVERY_ARSENAL")
76867
+ def APPLICATION_DISCOVERY_ARSENAL(cls) -> "InterfaceVpcEndpointAwsService":
76868
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "APPLICATION_DISCOVERY_ARSENAL"))
76869
+
76870
+ @jsii.python.classproperty
76871
+ @jsii.member(jsii_name="APPLICATION_DISCOVERY_SERVICE")
76872
+ def APPLICATION_DISCOVERY_SERVICE(cls) -> "InterfaceVpcEndpointAwsService":
76873
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "APPLICATION_DISCOVERY_SERVICE"))
76874
+
76163
76875
  @jsii.python.classproperty
76164
76876
  @jsii.member(jsii_name="APPLICATION_MIGRATION_SERVICE")
76165
76877
  def APPLICATION_MIGRATION_SERVICE(cls) -> "InterfaceVpcEndpointAwsService":
@@ -76390,6 +77102,11 @@ class InterfaceVpcEndpointAwsService(
76390
77102
  def CLOUDWATCH_SYNTHETICS(cls) -> "InterfaceVpcEndpointAwsService":
76391
77103
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CLOUDWATCH_SYNTHETICS"))
76392
77104
 
77105
+ @jsii.python.classproperty
77106
+ @jsii.member(jsii_name="CLOUDWATCH_SYNTHETICS_FIPS")
77107
+ def CLOUDWATCH_SYNTHETICS_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
77108
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "CLOUDWATCH_SYNTHETICS_FIPS"))
77109
+
76393
77110
  @jsii.python.classproperty
76394
77111
  @jsii.member(jsii_name="CODE_CONNECTIONS")
76395
77112
  def CODE_CONNECTIONS(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77167,6 +77884,16 @@ class InterfaceVpcEndpointAwsService(
77167
77884
  def NEPTUNE_ANALYTICS(cls) -> "InterfaceVpcEndpointAwsService":
77168
77885
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "NEPTUNE_ANALYTICS"))
77169
77886
 
77887
+ @jsii.python.classproperty
77888
+ @jsii.member(jsii_name="NEPTUNE_ANALYTICS_DATA")
77889
+ def NEPTUNE_ANALYTICS_DATA(cls) -> "InterfaceVpcEndpointAwsService":
77890
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "NEPTUNE_ANALYTICS_DATA"))
77891
+
77892
+ @jsii.python.classproperty
77893
+ @jsii.member(jsii_name="NEPTUNE_ANALYTICS_FIPS")
77894
+ def NEPTUNE_ANALYTICS_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
77895
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "NEPTUNE_ANALYTICS_FIPS"))
77896
+
77170
77897
  @jsii.python.classproperty
77171
77898
  @jsii.member(jsii_name="NETWORK_FIREWALL")
77172
77899
  def NETWORK_FIREWALL(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77307,6 +78034,11 @@ class InterfaceVpcEndpointAwsService(
77307
78034
  def PRICE_LIST(cls) -> "InterfaceVpcEndpointAwsService":
77308
78035
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PRICE_LIST"))
77309
78036
 
78037
+ @jsii.python.classproperty
78038
+ @jsii.member(jsii_name="PRICING_CALCULATOR")
78039
+ def PRICING_CALCULATOR(cls) -> "InterfaceVpcEndpointAwsService":
78040
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "PRICING_CALCULATOR"))
78041
+
77310
78042
  @jsii.python.classproperty
77311
78043
  @jsii.member(jsii_name="PRIVATE_5G")
77312
78044
  def PRIVATE_5_G(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77466,6 +78198,16 @@ class InterfaceVpcEndpointAwsService(
77466
78198
  def RESOURCE_ACCESS_MANAGER(cls) -> "InterfaceVpcEndpointAwsService":
77467
78199
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "RESOURCE_ACCESS_MANAGER"))
77468
78200
 
78201
+ @jsii.python.classproperty
78202
+ @jsii.member(jsii_name="RESOURCE_GROUPS")
78203
+ def RESOURCE_GROUPS(cls) -> "InterfaceVpcEndpointAwsService":
78204
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "RESOURCE_GROUPS"))
78205
+
78206
+ @jsii.python.classproperty
78207
+ @jsii.member(jsii_name="RESOURCE_GROUPS_FIPS")
78208
+ def RESOURCE_GROUPS_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
78209
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "RESOURCE_GROUPS_FIPS"))
78210
+
77469
78211
  @jsii.python.classproperty
77470
78212
  @jsii.member(jsii_name="ROBOMAKER")
77471
78213
  def ROBOMAKER(cls) -> "InterfaceVpcEndpointAwsService":
@@ -77666,6 +78408,11 @@ class InterfaceVpcEndpointAwsService(
77666
78408
  def SWF_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
77667
78409
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "SWF_FIPS"))
77668
78410
 
78411
+ @jsii.python.classproperty
78412
+ @jsii.member(jsii_name="TAGGING")
78413
+ def TAGGING(cls) -> "InterfaceVpcEndpointAwsService":
78414
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "TAGGING"))
78415
+
77669
78416
  @jsii.python.classproperty
77670
78417
  @jsii.member(jsii_name="TELCO_NETWORK_BUILDER")
77671
78418
  def TELCO_NETWORK_BUILDER(cls) -> "InterfaceVpcEndpointAwsService":
@@ -91977,7 +92724,7 @@ class BastionHostLinux(
91977
92724
  :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
92725
  :param instance_name: The name of the instance. Default: 'BastionHost'
91979
92726
  :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.
92727
+ :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
92728
  :param require_imdsv2: Whether IMDSv2 should be required on this instance. Default: - false
91982
92729
  :param security_group: Security Group to assign to this instance. Default: - create new security group with no inbound and all outbound traffic allowed
91983
92730
  :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 +97521,10 @@ __all__ = [
96774
97521
  "CfnTransitGatewayVpcAttachment",
96775
97522
  "CfnTransitGatewayVpcAttachmentProps",
96776
97523
  "CfnVPC",
97524
+ "CfnVPCBlockPublicAccessExclusion",
97525
+ "CfnVPCBlockPublicAccessExclusionProps",
97526
+ "CfnVPCBlockPublicAccessOptions",
97527
+ "CfnVPCBlockPublicAccessOptionsProps",
96777
97528
  "CfnVPCCidrBlock",
96778
97529
  "CfnVPCCidrBlockProps",
96779
97530
  "CfnVPCDHCPOptionsAssociation",
@@ -100258,6 +101009,13 @@ def _typecheckingstub__f5438a142333f133eef7d17b761ec865c610e35c3898aaeced24d3a33
100258
101009
  """Type checking stubs"""
100259
101010
  pass
100260
101011
 
101012
+ def _typecheckingstub__c33b74edb68116a6eddebf7e0fccb8dfd65574d6a35c09a95580596c77d10c84(
101013
+ *,
101014
+ cpu: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLaunchTemplate.CpuProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
101015
+ ) -> None:
101016
+ """Type checking stubs"""
101017
+ pass
101018
+
100261
101019
  def _typecheckingstub__b11583349c048323414167490ce520ce6a2c88a94f22727256f4c8458131de17(
100262
101020
  *,
100263
101021
  device_name: typing.Optional[builtins.str] = None,
@@ -100302,6 +101060,13 @@ def _typecheckingstub__92b7bc91aa2d524d3b92853936f95f64b742fff5188a86cd52b461fbf
100302
101060
  """Type checking stubs"""
100303
101061
  pass
100304
101062
 
101063
+ def _typecheckingstub__a1b8ac2b677fdc40ae8230f2aa1d24dbec065cba8c4948e35f4a0dfd69c2e0bc(
101064
+ *,
101065
+ references: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLaunchTemplate.ReferenceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
101066
+ ) -> None:
101067
+ """Type checking stubs"""
101068
+ pass
101069
+
100305
101070
  def _typecheckingstub__650ea292c25895ae31516c706d23275a66f0cceb4abe283b392b67c0f180be7d(
100306
101071
  *,
100307
101072
  cpu_credits: typing.Optional[builtins.str] = None,
@@ -100385,6 +101150,7 @@ def _typecheckingstub__5fc9ef3203af5508d5ac30f48557352d8fd1abcefdc9c04e40826c7c6
100385
101150
  allowed_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
100386
101151
  bare_metal: typing.Optional[builtins.str] = None,
100387
101152
  baseline_ebs_bandwidth_mbps: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLaunchTemplate.BaselineEbsBandwidthMbpsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
101153
+ baseline_performance_factors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLaunchTemplate.BaselinePerformanceFactorsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
100388
101154
  burstable_performance: typing.Optional[builtins.str] = None,
100389
101155
  cpu_manufacturers: typing.Optional[typing.Sequence[builtins.str]] = None,
100390
101156
  excluded_instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -100603,6 +101369,13 @@ def _typecheckingstub__b6c5b5b228b065f6a57591206bbe516bb3639cfe4572dbb7cedd38475
100603
101369
  """Type checking stubs"""
100604
101370
  pass
100605
101371
 
101372
+ def _typecheckingstub__33d11f174a8d44a60a690675edd2b1264f7b20538793de8a376d9b1c836c5984(
101373
+ *,
101374
+ instance_family: typing.Optional[builtins.str] = None,
101375
+ ) -> None:
101376
+ """Type checking stubs"""
101377
+ pass
101378
+
100606
101379
  def _typecheckingstub__6a634ae7e5758becae7a53d5843892730c9c079318bfa3bfc2e89825c3df5db7(
100607
101380
  *,
100608
101381
  block_duration_minutes: typing.Optional[jsii.Number] = None,
@@ -104621,6 +105394,98 @@ def _typecheckingstub__48b11f5a9856584abde78ea8179ea1e15a79daa88103bf860d8cfd485
104621
105394
  """Type checking stubs"""
104622
105395
  pass
104623
105396
 
105397
+ def _typecheckingstub__25326e9b68ca765acd9653308fa5b739c5caacf8774e9af4f184caeb59c1f9bd(
105398
+ scope: _constructs_77d1e7e8.Construct,
105399
+ id: builtins.str,
105400
+ *,
105401
+ internet_gateway_exclusion_mode: builtins.str,
105402
+ subnet_id: typing.Optional[builtins.str] = None,
105403
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
105404
+ vpc_id: typing.Optional[builtins.str] = None,
105405
+ ) -> None:
105406
+ """Type checking stubs"""
105407
+ pass
105408
+
105409
+ def _typecheckingstub__fff41514dea5c99d2838630dc273006f56cd390a04c0560987153d17d393a471(
105410
+ inspector: _TreeInspector_488e0dd5,
105411
+ ) -> None:
105412
+ """Type checking stubs"""
105413
+ pass
105414
+
105415
+ def _typecheckingstub__0a9c62992443912b497679935e884da9ceaf569a34e270127ba4c4bbcd9178de(
105416
+ props: typing.Mapping[builtins.str, typing.Any],
105417
+ ) -> None:
105418
+ """Type checking stubs"""
105419
+ pass
105420
+
105421
+ def _typecheckingstub__7a7de616ba221ee0cc286b4d6be980082aff80195ef12a4cc1470e8f39f50d90(
105422
+ value: builtins.str,
105423
+ ) -> None:
105424
+ """Type checking stubs"""
105425
+ pass
105426
+
105427
+ def _typecheckingstub__ee41b552e6a5c9ed1c595a0ca9e2a44e6b4767d4d5f9f93bcc6089a2b8a9078d(
105428
+ value: typing.Optional[builtins.str],
105429
+ ) -> None:
105430
+ """Type checking stubs"""
105431
+ pass
105432
+
105433
+ def _typecheckingstub__1e07d614ce4f71c54dd33e378d7a6513c022cab55e36d27577fcd12c2d88dace(
105434
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
105435
+ ) -> None:
105436
+ """Type checking stubs"""
105437
+ pass
105438
+
105439
+ def _typecheckingstub__0d9ce2b681d384d7bfea8d60491ec27ef69d99c5c9c7ef34d19d78cb31d952de(
105440
+ value: typing.Optional[builtins.str],
105441
+ ) -> None:
105442
+ """Type checking stubs"""
105443
+ pass
105444
+
105445
+ def _typecheckingstub__7176b6dba6a7fdb73a24ee0d3bfe1ed69b7628c88f0232d07fb6339a4e6208ca(
105446
+ *,
105447
+ internet_gateway_exclusion_mode: builtins.str,
105448
+ subnet_id: typing.Optional[builtins.str] = None,
105449
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
105450
+ vpc_id: typing.Optional[builtins.str] = None,
105451
+ ) -> None:
105452
+ """Type checking stubs"""
105453
+ pass
105454
+
105455
+ def _typecheckingstub__24d31c53909b617dc4fc1905f3c6a7fb631c56e6a160f59064795a8c003a6ea4(
105456
+ scope: _constructs_77d1e7e8.Construct,
105457
+ id: builtins.str,
105458
+ *,
105459
+ internet_gateway_block_mode: builtins.str,
105460
+ ) -> None:
105461
+ """Type checking stubs"""
105462
+ pass
105463
+
105464
+ def _typecheckingstub__b41534ffeac2685e907615af2fe97bc820a22bad4e77064e661466f1d1387568(
105465
+ inspector: _TreeInspector_488e0dd5,
105466
+ ) -> None:
105467
+ """Type checking stubs"""
105468
+ pass
105469
+
105470
+ def _typecheckingstub__a56a6f6280e3009a525eeedcead9009e2524e22d3375cc0e5d312a313f168131(
105471
+ props: typing.Mapping[builtins.str, typing.Any],
105472
+ ) -> None:
105473
+ """Type checking stubs"""
105474
+ pass
105475
+
105476
+ def _typecheckingstub__19f57f6719b674f2d0d3c2e221d43093e4d8ae38daa501a2066a6d3afaa98e11(
105477
+ value: builtins.str,
105478
+ ) -> None:
105479
+ """Type checking stubs"""
105480
+ pass
105481
+
105482
+ def _typecheckingstub__58b7bf3beb5810a9ddfb83687c509df267cea795013b7b418f07408b0357d7a7(
105483
+ *,
105484
+ internet_gateway_block_mode: builtins.str,
105485
+ ) -> None:
105486
+ """Type checking stubs"""
105487
+ pass
105488
+
104624
105489
  def _typecheckingstub__183c6879cecf5e6ddd997bbb9856489efd89dd91a20b0a897e4a12a459346d37(
104625
105490
  scope: _constructs_77d1e7e8.Construct,
104626
105491
  id: builtins.str,
@@ -107184,6 +108049,7 @@ def _typecheckingstub__5fdf31f5ae2497c7efcb56df558011698f38dc19cff28ca7a78a08a6d
107184
108049
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
107185
108050
  instance_initiated_shutdown_behavior: typing.Optional[InstanceInitiatedShutdownBehavior] = None,
107186
108051
  instance_name: typing.Optional[builtins.str] = None,
108052
+ instance_profile: typing.Optional[_IInstanceProfile_10d5ce2c] = None,
107187
108053
  ipv6_address_count: typing.Optional[jsii.Number] = None,
107188
108054
  key_name: typing.Optional[builtins.str] = None,
107189
108055
  key_pair: typing.Optional[IKeyPair] = None,
@@ -107255,6 +108121,7 @@ def _typecheckingstub__2d4dc63c6e6ee3ddc68d5dd204d8ac5ef1f1dec37a7b84d636225df1c
107255
108121
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
107256
108122
  instance_initiated_shutdown_behavior: typing.Optional[InstanceInitiatedShutdownBehavior] = None,
107257
108123
  instance_name: typing.Optional[builtins.str] = None,
108124
+ instance_profile: typing.Optional[_IInstanceProfile_10d5ce2c] = None,
107258
108125
  ipv6_address_count: typing.Optional[jsii.Number] = None,
107259
108126
  key_name: typing.Optional[builtins.str] = None,
107260
108127
  key_pair: typing.Optional[IKeyPair] = None,